[JBoss JIRA] (TEIID-5056) Infinispan Hotrod error when on DDL metadata change
by Jan Stastny (JIRA)
Jan Stastny created TEIID-5056:
----------------------------------
Summary: Infinispan Hotrod error when 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: Steven Hawkins
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)
8 years, 6 months
[JBoss JIRA] (TEIID-5051) UUID translating
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5051?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5051.
-----------------------------------
Resolution: Done
Added the logic to map uuid to string instead. Also added a note in the docs about the handling of uid types.
> UUID translating
> ----------------
>
> Key: TEIID-5051
> URL: https://issues.jboss.org/browse/TEIID-5051
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Connector
> Reporter: Lukáš Svačina
> Assignee: Steven Hawkins
> Fix For: 10.0
>
>
> Postgresql translator replaces source's `uuid` datatype for `Object`. So teiid (by default without custom casting) is unable to sort/condition views on such a field.
> String might be better than Object.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 6 months
[JBoss JIRA] (TEIID-4099) Improve with clause performance with incremental materialization
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4099?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-4099:
----------------------------------
Description:
When a with clause item is first referenced it is fully materialized before use. We should generally allow iterative processing for full table scans - in scenarios where the table hasn't been augmented to add inferred indexes.
Another possible improvement to consider would be to fully analyse the predicates used against the common table to determine if a disjunct of all would limit the rows needed.
was:When a with clause item is first referenced it is fully materialized before use. We should generally allow iterative processing for full table scans - in scenarios where the table hasn't been augmented to add inferred indexes.
> Improve with clause performance with incremental materialization
> ----------------------------------------------------------------
>
> Key: TEIID-4099
> URL: https://issues.jboss.org/browse/TEIID-4099
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 10.0
>
>
> When a with clause item is first referenced it is fully materialized before use. We should generally allow iterative processing for full table scans - in scenarios where the table hasn't been augmented to add inferred indexes.
> Another possible improvement to consider would be to fully analyse the predicates used against the common table to determine if a disjunct of all would limit the rows needed.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 6 months
[JBoss JIRA] (TEIID-4474) Re-license under a more permissive license
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4474?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4474.
-----------------------------------
Resolution: Done
Marking the task for Teiid itself as complete. The relevant documentation changes and references in the source have been made.
> Re-license under a more permissive license
> ------------------------------------------
>
> Key: TEIID-4474
> URL: https://issues.jboss.org/browse/TEIID-4474
> Project: Teiid
> Issue Type: Task
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 10.0
>
>
> There has been some interest in Teiid re-licensing with a more permissive license, such as the ASL or MIT license. Beyond the obvious work of altering headers and license files, we need permission from the original copyright/copyleft holders to approve the change.
> We'd likely want to use the ASL, but if there are any concerns about GPL compatibility we'll consider the MIT license.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 6 months
[JBoss JIRA] (TEIID-3439) Add support for aliases with .
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3439?page=com.atlassian.jira.plugin... ]
Steven Hawkins reassigned TEIID-3439:
-------------------------------------
Fix Version/s: 11.0
(was: 10.0)
Assignee: (was: Steven Hawkins)
This is too large/breaking of a change to introduce at this point for 10.0. Pushing to 11.0.
> Add support for aliases with .
> ------------------------------
>
> Key: TEIID-3439
> URL: https://issues.jboss.org/browse/TEIID-3439
> Project: Teiid
> Issue Type: Feature Request
> Components: Query Engine
> Reporter: Steven Hawkins
> Fix For: 11.0
>
>
> We currently don't allow column or table aliases to contain '.'. This is allowable given a quoted identifier is used. However an early design decision of metamatrix was to relax the rules of naming so that queries against the engine could use quoting (on not) similar to whatever was expected by a given database rather than the engine structure. A lot of resolving and parsing logic will need to change unfortunately to fix this.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 6 months