[teiid-issues] [JBoss JIRA] (TEIID-5056) Infinispan Hotrod error on DDL metadata change

Ramesh Reddy (JIRA) issues at jboss.org
Mon Sep 11 10:11:00 EDT 2017


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

Ramesh Reddy commented on TEIID-5056:
-------------------------------------

> we're creating and managing the schema
Teiid only claims this in INTERNAL materialization. Yes I agree in this Teiid provides some convenience methods, it does not mean we "manage" fully. 

[~jstastny] In that case the only reliable option I can provide right now is not to register the .proto file at all. That means either user needs to work with the registered .proto file as before or provide a .proto file in the translator to register with. No DDL to .proto will be supported, we can comment that code out. Alternatively, we can document that schema evolution is not supported, which we did not with the previous version either.

> Infinispan Hotrod error on DDL metadata change
> ----------------------------------------------
>
>                 Key: TEIID-5056
>                 URL: https://issues.jboss.org/browse/TEIID-5056
>             Project: Teiid
>          Issue Type: Bug
>          Components: JDG Connector, Misc. Connectors
>    Affects Versions: 8.12.x-6.4
>            Reporter: Jan Stastny
>            Assignee: Ramesh Reddy
>            Priority: Blocker
>
> When user has DDL metadata similar to:
> {code:xml|title=Source model}
>     <model name="Source" type="PHYSICAL" visible="true">
>         <source name="jdg7-source" translator-name="infinispan-hotrod" connection-jndi-name="java:/jdg71HotrodDS" />
>         <metadata type="DDL"><![CDATA[
>              CREATE FOREIGN TABLE SmallA (
>                StringKey string PRIMARY KEY,
>                IntKey integer
>                ) OPTIONS(UPDATABLE true, "teiid_ispn:cache" 'cache_name');
>             ]]>
>         </metadata>
>         <metadata type = "NATIVE"/>
>     </model>
> {code}
> and for example renames a column to:
> {code:xml|title=Source with renamed column}
>     <model name="Source" type="PHYSICAL" visible="true">
>         <source name="jdg7-source" translator-name="infinispan-hotrod" connection-jndi-name="java:/jdg71HotrodDS" />
>         <metadata type="DDL"><![CDATA[
>              CREATE FOREIGN TABLE SmallA (
>                StringKey string PRIMARY KEY,
>                Renamed integer
>                ) OPTIONS(UPDATABLE true, "teiid_ispn:cache" 'cache_name');
>             ]]>
>         </metadata>
>         <metadata type = "NATIVE"/>
>     </model>
> {code}
> Then after redeploy the VDB becomes active:
> {code:title=server.log}
> 14:14:51,555 INFO  [org.teiid.RUNTIME.VDBLifeCycleListener] (MSC service thread 1-8) TEIID40118 VDB jdg71_crud.1 added to the repository
> 14:14:51,556 INFO  [org.teiid.RUNTIME] (MSC service thread 1-8) TEIID50029 VDB jdg71_crud.1 model "Source" metadata is currently being loaded. Start Time: 9/8/17 2:14 PM
> 14:14:51,560 INFO  [org.teiid.RUNTIME] (teiid-async-threads - 2) TEIID50030 VDB jdg71_crud.1 model "Source" metadata loaded. End Time: 9/8/17 2:14 PM
> 14:14:51,561 INFO  [org.teiid.RUNTIME.VDBLifeCycleListener] (teiid-async-threads - 2) TEIID40003 VDB jdg71_crud.1 is set to ACTIVE
> {code}
> But on query:
> {code:sql}
> SELECT * FROM SMallA;
> {code}
> Following error occurs:
> {code:title=error message}
> TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 jdg7-source: org.infinispan.objectfilter.ParsingException: ISPN028501: The type Source.SmallA has no property named 'Renamed'.
> {code}
> {code:title=server.log}
> 14:16:13,265 WARN  [org.infinispan.client.hotrod.impl.protocol.Codec21] (Worker3_QueryProcessorQueue72) ISPN004005: Error received from the server: org.infinispan.objectfilter.ParsingException: ISPN028501: The type Source.SmallA has no property named 'Renamed'.
> 14:16:13,267 ERROR [org.teiid.CONNECTOR] (Worker3_QueryProcessorQueue72) Connector worker process failed for atomic-request=dwocyRSbrDcO.0.0.18: org.infinispan.client.hotrod.exceptions.HotRodClientException:Request for messageId=70 returned server error (status=0x85): org.infinispan.objectfilter.ParsingException: ISPN028501: The type Source.SmallA has no property named 'Renamed'.
> 	at org.infinispan.client.hotrod.impl.protocol.Codec20.checkForErrorsInResponseStatus(Codec20.java:363) [infinispan-client-hotrod-8.4.0.Final-redhat-2.jar:8.4.0.Final-redhat-2]
> 	at org.infinispan.client.hotrod.impl.protocol.Codec20.readPartialHeader(Codec20.java:152) [infinispan-client-hotrod-8.4.0.Final-redhat-2.jar:8.4.0.Final-redhat-2]
> 	at org.infinispan.client.hotrod.impl.protocol.Codec20.readHeader(Codec20.java:138) [infinispan-client-hotrod-8.4.0.Final-redhat-2.jar:8.4.0.Final-redhat-2]
> 	at org.infinispan.client.hotrod.impl.operations.HotRodOperation.readHeaderAndValidate(HotRodOperation.java:60) [infinispan-client-hotrod-8.4.0.Final-redhat-2.jar:8.4.0.Final-redhat-2]
> 	at org.infinispan.client.hotrod.impl.operations.QueryOperation.executeOperation(QueryOperation.java:68) [infinispan-client-hotrod-8.4.0.Final-redhat-2.jar:8.4.0.Final-redhat-2]
> 	at org.infinispan.client.hotrod.impl.operations.QueryOperation.executeOperation(QueryOperation.java:30) [infinispan-client-hotrod-8.4.0.Final-redhat-2.jar:8.4.0.Final-redhat-2]
> 	at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:56) [infinispan-client-hotrod-8.4.0.Final-redhat-2.jar:8.4.0.Final-redhat-2]
> 	at org.infinispan.client.hotrod.impl.query.RemoteQuery.executeQuery(RemoteQuery.java:68) [infinispan-client-hotrod-8.4.0.Final-redhat-2.jar:8.4.0.Final-redhat-2]
> 	at org.infinispan.client.hotrod.impl.query.RemoteQuery.list(RemoteQuery.java:53) [infinispan-client-hotrod-8.4.0.Final-redhat-2.jar:8.4.0.Final-redhat-2]
> 	at org.teiid.translator.infinispan.hotrod.InfinispanResponse.fetchNextBatch(InfinispanResponse.java:74) [translator-infinispan-hotrod-8.12.11.6_4-redhat-6.jar:8.12.11.6_4-redhat-6]
> 	at org.teiid.translator.infinispan.hotrod.InfinispanResponse.getNextRow(InfinispanResponse.java:90) [translator-infinispan-hotrod-8.12.11.6_4-redhat-6.jar:8.12.11.6_4-redhat-6]
> 	at org.teiid.translator.infinispan.hotrod.InfinispanQueryExecution.next(InfinispanQueryExecution.java:136) [translator-infinispan-hotrod-8.12.11.6_4-redhat-6.jar:8.12.11.6_4-redhat-6]
> 	at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.handleBatch(ConnectorWorkItem.java:433) [teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
> 	at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.more(ConnectorWorkItem.java:236) [teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
> 	at sun.reflect.GeneratedMethodAccessor168.invoke(Unknown Source) [:1.8.0_121]
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_121]
> 	at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_121]
> 	at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211) [teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
> 	at com.sun.proxy.$Proxy79.more(Unknown Source)
> 	at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:309) [teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
> 	at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112) [teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
> 	at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) [teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_121]
> 	at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65) [teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
> 	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:280) [teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
> 	at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
> 	at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.11.6_4-redhat-64-6.jar:8.12.11.6_4-redhat-64-6]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_121]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_121]
> 	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_121]
> 14:16:13,275 WARN  [org.teiid.PROCESSOR] (Worker2_QueryProcessorQueue73) TEIID30020 Processing exception for request dwocyRSbrDcO.0 'TEIID30504 jdg7-source: org.infinispan.objectfilter.ParsingException: ISPN028501: The type Source.SmallA has no property named 'Renamed'.'. Originally TeiidProcessingException Codec20.java:363. Enable more detailed logging to see the entire stacktrace.
> {code}
> The only way to solve this is to restart JDG instance. Restarting Teiid server is not enough.



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


More information about the teiid-issues mailing list