[JBoss JIRA] (TEIID-4736) JDG resource adapter does not reconnect properly when JDG as mat cache is restarted
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIID-4736?page=com.atlassian.jira.plugin... ]
Van Halbert updated TEIID-4736:
-------------------------------
Fix Version/s: (was: 8.12.9.6_3)
> JDG resource adapter does not reconnect properly when JDG as mat cache is restarted
> -----------------------------------------------------------------------------------
>
> Key: TEIID-4736
> URL: https://issues.jboss.org/browse/TEIID-4736
> Project: Teiid
> Issue Type: Sub-task
> Components: JDG Connector
> Affects Versions: 8.12.x, 9.0.1
> Reporter: William DeCoste
> Assignee: Van Halbert
> Fix For: 9.3, 8.12.9.6_3, 9.2.1
>
>
> After JDG restart, JDV cannot recover:
> Executing using the TeiidDriver
> org.teiid.jdbc.TeiidSQLException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 PersonMatSource1: Program Error: Cache Name is null
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
> at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:721)
> at org.teiid.jdbc.StatementImpl.access$100(StatementImpl.java:64)
> at org.teiid.jdbc.StatementImpl$2.onCompletion(StatementImpl.java:560)
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:135)
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:40)
> at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:79)
> at org.teiid.net.socket.SocketServerInstanceImpl.receivedMessage(SocketServerInstanceImpl.java:268)
> at org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:306)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.teiid.net.socket.SocketServerConnectionFactory$ShutdownHandler.invoke(SocketServerConnectionFactory.java:98)
> at com.sun.proxy.$Proxy24.read(Unknown Source)
> at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:405)
> at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:569)
> at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:1063)
> at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:338)
> at JDBCClient.execute(JDBCClient.java:93)
> at JDBCClient.main(JDBCClient.java:48)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.teiid.core.TeiidProcessingException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 PersonMatSource1: Program Error: Cache Name is null
> at org.teiid.dqp.internal.process.DataTierTupleSource.exceptionOccurred(DataTierTupleSource.java:401)
> at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:161)
> at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:391)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:280)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> ... 1 more
> Caused by: org.teiid.core.TeiidException: Remote org.teiid.translator.TranslatorException: Program Error: Cache Name is null
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.handleError(ConnectorWorkItem.java:310)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:369)
> at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy113.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> ... 6 more
> Caused by: java.lang.Error: Remote java.lang.AssertionError: Program Error: Cache Name is null
> at org.teiid.core.util.Assertion.failed(Assertion.java:73)
> at org.teiid.core.util.Assertion.isNotNull(Assertion.java:100)
> at org.teiid.resource.adapter.infinispan.dsl.InfinispanManagedConnectionFactory.getCache(InfinispanManagedConnectionFactory.java:173)
> at org.teiid.resource.adapter.infinispan.dsl.InfinispanConnectionImpl.getCache(InfinispanConnectionImpl.java:251)
> at org.teiid.resource.adapter.infinispan.dsl.InfinispanConnectionImpl.getQueryFactory(InfinispanConnectionImpl.java:140)
> at org.teiid.resource.adapter.infinispan.dsl.DSLSearch.getQueryBuilder(DSLSearch.java:205)
> at org.teiid.resource.adapter.infinispan.dsl.DSLSearch.performSearch(DSLSearch.java:156)
> at org.teiid.resource.adapter.infinispan.dsl.DSLSearch.performSearch(DSLSearch.java:143)
> at org.teiid.translator.object.ObjectExecution.execute(ObjectExecution.java:261)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:366)
> ... 16 more
> -----------------------------------
> Executing using the TeiidDataSource
> org.teiid.jdbc.TeiidSQLException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 PersonMatSource1: Program Error: Cache Name is null
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
> at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:721)
> at org.teiid.jdbc.StatementImpl.access$100(StatementImpl.java:64)
> at org.teiid.jdbc.StatementImpl$2.onCompletion(StatementImpl.java:560)
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:135)
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:40)
> at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:79)
> at org.teiid.net.socket.SocketServerInstanceImpl.receivedMessage(SocketServerInstanceImpl.java:268)
> at org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:306)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.teiid.net.socket.SocketServerConnectionFactory$ShutdownHandler.invoke(SocketServerConnectionFactory.java:98)
> at com.sun.proxy.$Proxy24.read(Unknown Source)
> at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:405)
> at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:569)
> at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:1063)
> at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:338)
> at JDBCClient.execute(JDBCClient.java:93)
> at JDBCClient.main(JDBCClient.java:55)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.teiid.core.TeiidProcessingException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 PersonMatSource1: Program Error: Cache Name is null
> at org.teiid.dqp.internal.process.DataTierTupleSource.exceptionOccurred(DataTierTupleSource.java:401)
> at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:161)
> at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:391)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:280)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> ... 1 more
> Caused by: org.teiid.core.TeiidException: Remote org.teiid.translator.TranslatorException: Program Error: Cache Name is null
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.handleError(ConnectorWorkItem.java:310)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:369)
> at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy113.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> ... 6 more
> Caused by: java.lang.Error: Remote java.lang.AssertionError: Program Error: Cache Name is null
> at org.teiid.core.util.Assertion.failed(Assertion.java:73)
> at org.teiid.core.util.Assertion.isNotNull(Assertion.java:100)
> at org.teiid.resource.adapter.infinispan.dsl.InfinispanManagedConnectionFactory.getCache(InfinispanManagedConnectionFactory.java:173)
> at org.teiid.resource.adapter.infinispan.dsl.InfinispanConnectionImpl.getCache(InfinispanConnectionImpl.java:251)
> at org.teiid.resource.adapter.infinispan.dsl.InfinispanConnectionImpl.getQueryFactory(InfinispanConnectionImpl.java:140)
> at org.teiid.resource.adapter.infinispan.dsl.DSLSearch.getQueryBuilder(DSLSearch.java:205)
> at org.teiid.resource.adapter.infinispan.dsl.DSLSearch.performSearch(DSLSearch.java:156)
> at org.teiid.resource.adapter.infinispan.dsl.DSLSearch.performSearch(DSLSearch.java:143)
> at org.teiid.translator.object.ObjectExecution.execute(ObjectExecution.java:261)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:366)
> ... 16 more
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 10 months
[JBoss JIRA] (TEIID-4758) Permanent materialization load failure is when JDG source goes down
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIID-4758?page=com.atlassian.jira.plugin... ]
Van Halbert closed TEIID-4758.
------------------------------
Resolution: Duplicate Issue
This is a duplicate issue that is encompassed in these jiras:
TEIID-4778, TEIID-4775, TEIID-4780, TEIID-4782
> Permanent materialization load failure is when JDG source goes down
> -------------------------------------------------------------------
>
> Key: TEIID-4758
> URL: https://issues.jboss.org/browse/TEIID-4758
> Project: Teiid
> Issue Type: Sub-task
> Components: Server
> Affects Versions: 8.12
> Reporter: Ramesh Reddy
> Assignee: Van Halbert
> Fix For: 9.3
>
>
> During the external materialization load, if the target cache database goes offline, the materialization job stops, but the {{Status}} table is left in {{LOADING}} state, which will never recover when the target cache database comes back up again.
> This situation is observed when JDG is used in OpenShift along with JDV However, behavior can occur in standalone situations too. The system should resilient and must recover in this situation.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 10 months
[JBoss JIRA] (TEIID-4736) JDG resource adapter does not reconnect properly when JDG as mat cache is restarted
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIID-4736?page=com.atlassian.jira.plugin... ]
Van Halbert updated TEIID-4736:
-------------------------------
Parent: TEIID-4779
Issue Type: Sub-task (was: Bug)
Steps to Reproduce: (was: 1) Create JDV with JDG serving as materialization cache (e.g. jdg-remote-cache-materialization quickstart)
2) Run the simpleclient query
3) Restart JDG
4) When JDG is back up, run the simpleclient query again. You'll get the exception above)
> JDG resource adapter does not reconnect properly when JDG as mat cache is restarted
> -----------------------------------------------------------------------------------
>
> Key: TEIID-4736
> URL: https://issues.jboss.org/browse/TEIID-4736
> Project: Teiid
> Issue Type: Sub-task
> Components: JDG Connector
> Affects Versions: 8.12.x, 9.0.1
> Reporter: William DeCoste
> Assignee: Van Halbert
> Fix For: 9.3, 8.12.9.6_3, 9.2.1
>
>
> After JDG restart, JDV cannot recover:
> Executing using the TeiidDriver
> org.teiid.jdbc.TeiidSQLException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 PersonMatSource1: Program Error: Cache Name is null
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
> at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:721)
> at org.teiid.jdbc.StatementImpl.access$100(StatementImpl.java:64)
> at org.teiid.jdbc.StatementImpl$2.onCompletion(StatementImpl.java:560)
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:135)
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:40)
> at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:79)
> at org.teiid.net.socket.SocketServerInstanceImpl.receivedMessage(SocketServerInstanceImpl.java:268)
> at org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:306)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.teiid.net.socket.SocketServerConnectionFactory$ShutdownHandler.invoke(SocketServerConnectionFactory.java:98)
> at com.sun.proxy.$Proxy24.read(Unknown Source)
> at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:405)
> at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:569)
> at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:1063)
> at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:338)
> at JDBCClient.execute(JDBCClient.java:93)
> at JDBCClient.main(JDBCClient.java:48)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.teiid.core.TeiidProcessingException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 PersonMatSource1: Program Error: Cache Name is null
> at org.teiid.dqp.internal.process.DataTierTupleSource.exceptionOccurred(DataTierTupleSource.java:401)
> at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:161)
> at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:391)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:280)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> ... 1 more
> Caused by: org.teiid.core.TeiidException: Remote org.teiid.translator.TranslatorException: Program Error: Cache Name is null
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.handleError(ConnectorWorkItem.java:310)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:369)
> at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy113.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> ... 6 more
> Caused by: java.lang.Error: Remote java.lang.AssertionError: Program Error: Cache Name is null
> at org.teiid.core.util.Assertion.failed(Assertion.java:73)
> at org.teiid.core.util.Assertion.isNotNull(Assertion.java:100)
> at org.teiid.resource.adapter.infinispan.dsl.InfinispanManagedConnectionFactory.getCache(InfinispanManagedConnectionFactory.java:173)
> at org.teiid.resource.adapter.infinispan.dsl.InfinispanConnectionImpl.getCache(InfinispanConnectionImpl.java:251)
> at org.teiid.resource.adapter.infinispan.dsl.InfinispanConnectionImpl.getQueryFactory(InfinispanConnectionImpl.java:140)
> at org.teiid.resource.adapter.infinispan.dsl.DSLSearch.getQueryBuilder(DSLSearch.java:205)
> at org.teiid.resource.adapter.infinispan.dsl.DSLSearch.performSearch(DSLSearch.java:156)
> at org.teiid.resource.adapter.infinispan.dsl.DSLSearch.performSearch(DSLSearch.java:143)
> at org.teiid.translator.object.ObjectExecution.execute(ObjectExecution.java:261)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:366)
> ... 16 more
> -----------------------------------
> Executing using the TeiidDataSource
> org.teiid.jdbc.TeiidSQLException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 PersonMatSource1: Program Error: Cache Name is null
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
> at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:721)
> at org.teiid.jdbc.StatementImpl.access$100(StatementImpl.java:64)
> at org.teiid.jdbc.StatementImpl$2.onCompletion(StatementImpl.java:560)
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:135)
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:40)
> at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:79)
> at org.teiid.net.socket.SocketServerInstanceImpl.receivedMessage(SocketServerInstanceImpl.java:268)
> at org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:306)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.teiid.net.socket.SocketServerConnectionFactory$ShutdownHandler.invoke(SocketServerConnectionFactory.java:98)
> at com.sun.proxy.$Proxy24.read(Unknown Source)
> at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:405)
> at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:569)
> at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:1063)
> at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:338)
> at JDBCClient.execute(JDBCClient.java:93)
> at JDBCClient.main(JDBCClient.java:55)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.teiid.core.TeiidProcessingException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 PersonMatSource1: Program Error: Cache Name is null
> at org.teiid.dqp.internal.process.DataTierTupleSource.exceptionOccurred(DataTierTupleSource.java:401)
> at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:161)
> at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:391)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:280)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> ... 1 more
> Caused by: org.teiid.core.TeiidException: Remote org.teiid.translator.TranslatorException: Program Error: Cache Name is null
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.handleError(ConnectorWorkItem.java:310)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:369)
> at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy113.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> ... 6 more
> Caused by: java.lang.Error: Remote java.lang.AssertionError: Program Error: Cache Name is null
> at org.teiid.core.util.Assertion.failed(Assertion.java:73)
> at org.teiid.core.util.Assertion.isNotNull(Assertion.java:100)
> at org.teiid.resource.adapter.infinispan.dsl.InfinispanManagedConnectionFactory.getCache(InfinispanManagedConnectionFactory.java:173)
> at org.teiid.resource.adapter.infinispan.dsl.InfinispanConnectionImpl.getCache(InfinispanConnectionImpl.java:251)
> at org.teiid.resource.adapter.infinispan.dsl.InfinispanConnectionImpl.getQueryFactory(InfinispanConnectionImpl.java:140)
> at org.teiid.resource.adapter.infinispan.dsl.DSLSearch.getQueryBuilder(DSLSearch.java:205)
> at org.teiid.resource.adapter.infinispan.dsl.DSLSearch.performSearch(DSLSearch.java:156)
> at org.teiid.resource.adapter.infinispan.dsl.DSLSearch.performSearch(DSLSearch.java:143)
> at org.teiid.translator.object.ObjectExecution.execute(ObjectExecution.java:261)
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:366)
> ... 16 more
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 10 months
[JBoss JIRA] (TEIID-4626) Add a full snapshot refresh strategy based upon table modifications
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4626?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4626:
---------------------------------------
After something is fully resolved, you can use the metadata object to look (transitively) at the incoming objects - AbstractMetadataRecord.getIncomingObjects. That would be better than using the group collector.
> Add a full snapshot refresh strategy based upon table modifications
> -------------------------------------------------------------------
>
> Key: TEIID-4626
> URL: https://issues.jboss.org/browse/TEIID-4626
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Ramesh Reddy
> Fix For: 9.3
>
>
> using the existing full materialization refresh logic we can trigger a refresh based upon a notion of how dirty a table is based upon a proportion of rows updated to the rows in the table. This would also require some change to the status table to capture the number of transitive row updates. This could then be hooked up to debezium as the event source.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 10 months
[JBoss JIRA] (TEIID-4786) Report more information with max block exception
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-4786:
-------------------------------------
Summary: Report more information with max block exception
Key: TEIID-4786
URL: https://issues.jboss.org/browse/TEIID-4786
Project: Teiid
Issue Type: Quality Risk
Components: Query Engine
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 9.3
When the max block exception occurs in the buffer manager it reports the batch manager and batch id - but those can only be traced back to a query based upon a detail/trace log of buffer manager activity. We should provide more information, which at the very least should include the number of rows/columns, how large it actually is, column types, etc.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 10 months
[JBoss JIRA] (TEIID-4626) Add a full snapshot refresh strategy based upon table modifications
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-4626?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-4626:
-------------------------------------
Looks like during the metadata validation, I could use "GroupCollectorVisitor" on the transformation command and collect the groups and add those implicit after triggers on them.
> Add a full snapshot refresh strategy based upon table modifications
> -------------------------------------------------------------------
>
> Key: TEIID-4626
> URL: https://issues.jboss.org/browse/TEIID-4626
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Ramesh Reddy
> Fix For: 9.3
>
>
> using the existing full materialization refresh logic we can trigger a refresh based upon a notion of how dirty a table is based upon a proportion of rows updated to the rows in the table. This would also require some change to the status table to capture the number of transitive row updates. This could then be hooked up to debezium as the event source.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 10 months
[JBoss JIRA] (TEIID-4626) Add a full snapshot refresh strategy based upon table modifications
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4626?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4626:
---------------------------------------
> Couple comments
Those are essentially correct - it's just providing an avenue for full refresh beyond TTL.
> Coming to tracking the number of updates, are u thinking we need an additional column on {Status}} table to track this per View? Or should we track each source table's update statistics?
We need the transitive graph of all source tables contributing to the view, then any modification to those would count as a modification that yes would be tracked on the status table.
We already have logic with the result set caching functions similar to this. The cache tracks all objects that contribute to a given result and looks for modifications after the creation of the cache entry to invalidate the entry.
> Should we try to automatically insert the "after triggers" for above based on the View transformation?
That's certainly possible to do. Any alter view / alter procedure may mean that we'll have to add / drop triggers.
> As per triggering an update after n updates, are thinking as absolute number or should we do some kind of percentage based on the Cardinality metric in the Status table?
The intent was to use some proportion or percentage based upon the rows * columns.
> Add a full snapshot refresh strategy based upon table modifications
> -------------------------------------------------------------------
>
> Key: TEIID-4626
> URL: https://issues.jboss.org/browse/TEIID-4626
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Ramesh Reddy
> Fix For: 9.3
>
>
> using the existing full materialization refresh logic we can trigger a refresh based upon a notion of how dirty a table is based upon a proportion of rows updated to the rows in the table. This would also require some change to the status table to capture the number of transitive row updates. This could then be hooked up to debezium as the event source.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 10 months
[JBoss JIRA] (TEIID-4626) Add a full snapshot refresh strategy based upon table modifications
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-4626?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-4626:
-------------------------------------
Yes, I was thinking at row level updates. Your comments are for View level then. Couple comments
- there will be no 1-to-1 correlation as to how many rows changed but how many updates could have affected it.
- this be hard to guess how stale the view really is?
- but this would be fast and non-invasive, but would require to run a full snapshot update.
Coming to tracking the number of updates, are u thinking we need an additional column on {Status}} table to track this per View? Or should we track each source table's update statistics?
Should we try to automatically insert the "after triggers" for above based on the View transformation?
As per triggering an update after n updates, are thinking as absolute number or should we do some kind of percentage based on the {{Cardinality}} metric in the {{Status}} table?
> Add a full snapshot refresh strategy based upon table modifications
> -------------------------------------------------------------------
>
> Key: TEIID-4626
> URL: https://issues.jboss.org/browse/TEIID-4626
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Ramesh Reddy
> Fix For: 9.3
>
>
> using the existing full materialization refresh logic we can trigger a refresh based upon a notion of how dirty a table is based upon a proportion of rows updated to the rows in the table. This would also require some change to the status table to capture the number of transitive row updates. This could then be hooked up to debezium as the event source.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 10 months