[teiid-issues] [JBoss JIRA] (TEIID-4817) Infinispan DSL Resource Adapter: can't query after JDG restart

Van Halbert (JIRA) issues at jboss.org
Mon Mar 20 08:11:00 EDT 2017


    [ https://issues.jboss.org/browse/TEIID-4817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13380794#comment-13380794 ] 

Van Halbert commented on TEIID-4817:
------------------------------------

Part of the problem is with the capabilities of the resource-adapter infrastructure:
-  doesn't provide an option to test a connection before its handed out, like for jdbc
-  the option to flush all connections on a failure doesn't work.   If you manually flush all the current connections, JDV will continue without issue.

Thinking that the object translator should test the connection, and if its bad, then force the cleanup (which will cause the connection to reconnect).   Since there is not a current way to throw away a bad connection in the resource-adapter framework, this could enable the JDG connection can be forced to reconnect. 

> Infinispan DSL Resource Adapter: can't query after JDG restart
> --------------------------------------------------------------
>
>                 Key: TEIID-4817
>                 URL: https://issues.jboss.org/browse/TEIID-4817
>             Project: Teiid
>          Issue Type: Bug
>          Components: JDG Connector
>    Affects Versions: 8.12.10.6_3
>            Reporter: Jan Stastny
>            Assignee: Van Halbert
>            Priority: Blocker
>
> There is an issue with Infinispan DSL connector when accessing JDG after it has been restarted.
> When I have a vdb accessing JDG only as datasource and I do following:
> 1. Start JDV and JDG
> 2. Configure JDV to use JDG as datasource (no materialization needed)
> 3. Deploy a vdb accessing the JDG instance using a pojo.
> 4. Query the vdb with no issues.
> 5. Restart JDG (call reload using DMR/CLI)
> 6. Wait for JDG to come up.
> 7. Query the vdb again
> Then in step 7 I get:
> {code:plain|title="WARN in server log"}
> 12:32:32,749 WARN  [org.infinispan.client.hotrod.impl.protocol.Codec21] (Worker1_QueryProcessorQueue5) ISPN004005: Error received from the server: java.lang.IllegalStateException: Unknown entity name org.jboss.qe.jdg.remote.protobuf.SmallA
> {code}
> {code:plain|title="full stacktrace"}
> 12:32:32,749 WARN  [org.infinispan.client.hotrod.impl.protocol.Codec21] (Worker1_QueryProcessorQueue5) ISPN004005: Error received from the server: java.lang.IllegalStateException: Unknown entity name org.jboss.qe.jdg.remote.protobuf.SmallA
> 12:32:32,753 WARN  [org.teiid.CONNECTOR] (Worker1_QueryProcessorQueue5) Connector worker process failed for atomic-request=jUZx1bBd0k4L.0.3.1: org.teiid.translator.TranslatorException: java.lang.IllegalStateException: Unknown entity name org.jboss.qe.jdg.remote.protobuf.SmallA
>  	at org.teiid.translator.object.ObjectExecution.execute(ObjectExecution.java:275) [translator-object-8.12.10.6_3-redhat-1.jar:8.12.10.6_3-redhat-1]
>  	at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:363) [teiid-engine-8.12.10.6_3-redhat-1.jar:8.12.10.6_3-redhat-1]
>  	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_121]
>  	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_121]
>  	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_121]
>  	at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_121]
>  	at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211) [teiid-engine-8.12.10.6_3-redhat-1.jar:8.12.10.6_3-redhat-1]
>  	at com.sun.proxy.$Proxy89.execute(Unknown Source)
>  	at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306) [teiid-engine-8.12.10.6_3-redhat-1.jar:8.12.10.6_3-redhat-1]
>  	at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112) [teiid-engine-8.12.10.6_3-redhat-1.jar:8.12.10.6_3-redhat-1]
>  	at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) [teiid-engine-8.12.10.6_3-redhat-1.jar:8.12.10.6_3-redhat-1]
>  	at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_121]
>  	at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65) [teiid-engine-8.12.10.6_3-redhat-1.jar:8.12.10.6_3-redhat-1]
>  	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:280) [teiid-engine-8.12.10.6_3-redhat-1.jar:8.12.10.6_3-redhat-1]
>  	at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.10.6_3-redhat-1.jar:8.12.10.6_3-redhat-1]
>  	at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.10.6_3-redhat-1.jar:8.12.10.6_3-redhat-1]
>  	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_121]
>  	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_121]
>  	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_121]
>  Caused by: org.infinispan.client.hotrod.exceptions.HotRodClientException:Request for message id[9] returned server error (status=0x85): java.lang.IllegalStateException: Unknown entity name org.jboss.qe.jdg.remote.protobuf.SmallA
>  	at org.infinispan.client.hotrod.impl.protocol.Codec20.checkForErrorsInResponseStatus(Codec20.java:343)
>  	at org.infinispan.client.hotrod.impl.protocol.Codec20.readPartialHeader(Codec20.java:133)
>  	at org.infinispan.client.hotrod.impl.protocol.Codec20.readHeader(Codec20.java:119)
>  	at org.infinispan.client.hotrod.impl.operations.HotRodOperation.readHeaderAndValidate(HotRodOperation.java:56)
>  	at org.infinispan.client.hotrod.impl.operations.QueryOperation.executeOperation(QueryOperation.java:62)
>  	at org.infinispan.client.hotrod.impl.operations.QueryOperation.executeOperation(QueryOperation.java:28)
>  	at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:56)
>  	at org.infinispan.client.hotrod.impl.query.RemoteQuery.executeQuery(RemoteQuery.java:61)
>  	at org.infinispan.client.hotrod.impl.query.RemoteQuery.list(RemoteQuery.java:51)
>  	at org.teiid.resource.adapter.infinispan.dsl.DSLSearch.performSearch(DSLSearch.java:196)
>  	at org.teiid.resource.adapter.infinispan.dsl.DSLSearch.performSearch(DSLSearch.java:149)
>  	at org.teiid.translator.object.ObjectExecution.execute(ObjectExecution.java:261) [translator-object-8.12.10.6_3-redhat-1.jar:8.12.10.6_3-redhat-1]
>  	... 18 more
> {code}



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the teiid-issues mailing list