[JBoss JIRA] (TEIID-5193) Osisoft translator - correlated subquery on HAVING clause fails
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5193?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-5193:
---------------------------------------
[~vhalbert2] this probably isn't needed proactively on older branches.
> Osisoft translator - correlated subquery on HAVING clause fails
> ---------------------------------------------------------------
>
> Key: TEIID-5193
> URL: https://issues.jboss.org/browse/TEIID-5193
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Connector
> Affects Versions: 8.12.x-6.4
> Reporter: Andrej Šmigala
> Assignee: Steven Hawkins
> Fix For: 8.12.x-6.4, 10.1
>
>
> Running a query with a correlated subquery in a HAVING clause, such as
> {code:sql}
> SELECT INTKEY, STRINGKEY
> FROM BQT1.SMALLA AS A
> WHERE NOT (INTKEY IN (10))
> GROUP BY INTKEY, STRINGKEY
> HAVING INTKEY = (SELECT MIN(STRINGKEY) FROM BQT1.SMALLA AS B WHERE A.INTKEY = B.INTKEY)
> {code}
> fails on the datasource with
> bq. com.osisoft.rdsa.RdsaException: [PIOLEDBENT] HAVING condition cannot be nonaggregate.
> This seems to be an issue on the Osisoft PI datasource side, as running the query directly against the datasource produces the same failure.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 2 months
[JBoss JIRA] (TEIID-5193) Osisoft translator - correlated subquery on HAVING clause fails
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIID-5193?page=com.atlassian.jira.plugin... ]
Van Halbert updated TEIID-5193:
-------------------------------
Fix Version/s: 8.12.x-6.4
> Osisoft translator - correlated subquery on HAVING clause fails
> ---------------------------------------------------------------
>
> Key: TEIID-5193
> URL: https://issues.jboss.org/browse/TEIID-5193
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Connector
> Affects Versions: 8.12.x-6.4
> Reporter: Andrej Šmigala
> Assignee: Steven Hawkins
> Fix For: 8.12.x-6.4, 10.1
>
>
> Running a query with a correlated subquery in a HAVING clause, such as
> {code:sql}
> SELECT INTKEY, STRINGKEY
> FROM BQT1.SMALLA AS A
> WHERE NOT (INTKEY IN (10))
> GROUP BY INTKEY, STRINGKEY
> HAVING INTKEY = (SELECT MIN(STRINGKEY) FROM BQT1.SMALLA AS B WHERE A.INTKEY = B.INTKEY)
> {code}
> fails on the datasource with
> bq. com.osisoft.rdsa.RdsaException: [PIOLEDBENT] HAVING condition cannot be nonaggregate.
> This seems to be an issue on the Osisoft PI datasource side, as running the query directly against the datasource produces the same failure.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 2 months
[JBoss JIRA] (TEIID-5208) PrestoDB removes CAST from join criteria for certain datatypes
by Jan Stastny (JIRA)
[ https://issues.jboss.org/browse/TEIID-5208?page=com.atlassian.jira.plugin... ]
Jan Stastny updated TEIID-5208:
-------------------------------
Attachment: presto-vdb.xml
> PrestoDB removes CAST from join criteria for certain datatypes
> --------------------------------------------------------------
>
> Key: TEIID-5208
> URL: https://issues.jboss.org/browse/TEIID-5208
> Project: Teiid
> Issue Type: Bug
> Components: Misc. Connectors
> Affects Versions: 8.12.x-6.4
> Reporter: Jan Stastny
> Assignee: Steven Hawkins
> Attachments: presto-vdb.xml
>
>
> For certain datatypes prestodb translator removes join criteria from a query before pushing it.
> # For short data type
> For query:
> {code}
> SELECT A.BooleanValue FROM BQT1.SMallA AS A JOIN BQT2.SmallB AS B ON CONVERT(A.BooleanValue, short)=B.ShortValue
> {code}
> I get following query pushed:
> {code}
> SELECT g_0.booleanvalue FROM smalla AS g_0 INNER JOIN smallb
> AS g_1 ON g_0.booleanvalue = g_1.shortvalue
> {code}
> All entries in command log:
> {code}
> 13:09:27,827 INFO [org.teiid.COMMAND_LOG] (New I/O worker #1) 8ObxvDXnPZmp START USER COMMAND: startTime=2018-01-11 13:09:27.827 requestID=8ObxvDXnPZmp.35 txID=null sessionID=8ObxvDXnP
> Zmp applicationName=JDBC principal=user@teiid-security vdbName=PrestoDB vdbVersion=1 sql=SELECT A.BooleanValue FROM BQT1.SMallA AS A JOIN BQT2.SmallB AS B ON CONVERT(A.BooleanValue, short)=B.S
> hortValue
> 13:09:27,841 DEBUG [org.teiid.COMMAND_LOG] (Worker18_QueryProcessorQueue100) 8ObxvDXnPZmp START DATA SRC COMMAND: startTime=2018-01-11 13:09:27.84 requestID=8ObxvDXnPZmp.35 sourceCommandID=0
> executionID=21 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security sql=SELECT g_0.BooleanValue FROM Source.smalla AS g_0 INNER JOIN So
> urce.smallb AS g_1 ON CONVERT(g_0.BooleanValue, short) = g_1.ShortValue
> 13:09:27,843 DEBUG [org.teiid.COMMAND_LOG] (Worker18_QueryProcessorQueue100) 8ObxvDXnPZmp SOURCE SRC COMMAND: endTime=2018-01-11 13:09:27.843 requestID=8ObxvDXnPZmp.35 sourceCommandID=0 exe
> cutionID=21 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security sourceCommand=[SELECT g_0.booleanvalue FROM smalla AS g_0 INNER JOIN smallb
> AS g_1 ON g_0.booleanvalue = g_1.shortvalue]
> 13:09:28,171 DEBUG [org.teiid.COMMAND_LOG] (Worker18_QueryProcessorQueue100) 8ObxvDXnPZmp ERROR SRC COMMAND: endTime=2018-01-11 13:09:28.171 requestID=8ObxvDXnPZmp.35 sourceCommandID=0 exe
> cutionID=21 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security
> 13:09:28,193 DEBUG [org.teiid.COMMAND_LOG] (Worker17_QueryProcessorQueue101) 8ObxvDXnPZmp END SRC COMMAND: endTime=2018-01-11 13:09:28.193 requestID=8ObxvDXnPZmp.35 sourceCommandID=0 exe
> cutionID=21 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security finalRowCount=0 cpuTime(ns)=34953318
> 13:09:28,194 INFO [org.teiid.COMMAND_LOG] (Worker17_QueryProcessorQueue101) 8ObxvDXnPZmp ERROR USER COMMAND: endTime=2018-01-11 13:09:28.194 requestID=8ObxvDXnPZmp.35 txID=null sessionID=8
> ObxvDXnPZmp principal=user@teiid-security vdbName=PrestoDB vdbVersion=1 finalRowCount=null
> 13:09:28,210 INFO [org.teiid.COMMAND_LOG] (Worker17_QueryProcessorQueue101) 8ObxvDXnPZmp END USER COMMAND: endTime=2018-01-11 13:09:28.21 requestID=8ObxvDXnPZmp.35 txID=null sessionID=8
> ObxvDXnPZmp principal=user@teiid-security vdbName=PrestoDB vdbVersion=1 finalRowCount=0
> {code}
> # for byte datatype
> Query:
> {code}
> SELECT A.BooleanValue FROM BQT1.SMallA AS A, BQT2.SmallB AS B WHERE CONVERT(A.BooleanValue, byte)=B.ByteNum
> {code}
> Source query
> {code}
> SELECT g_0.booleanvalue FROM smalla AS g_0 INNER JOIN smallb
> AS g_1 ON g_0.booleanvalue = g_1.bytenum
> {code}
> Command log
> {code}
> 14:17:34,955 INFO [org.teiid.COMMAND_LOG] (New I/O worker #1) 8ObxvDXnPZmp START USER COMMAND: startTime=2018-01-11 14:17:34.955 requestID=8ObxvDXnPZmp.36 txID=null sessionID=8ObxvDXnP
> Zmp applicationName=JDBC principal=user@teiid-security vdbName=PrestoDB vdbVersion=1 sql=SELECT A.BooleanValue FROM BQT1.SMallA AS A, BQT2.SmallB AS B WHERE CONVERT(A.BooleanValue, byte)=B.Byt
> eNum
> 14:17:35,494 DEBUG [org.teiid.COMMAND_LOG] (Worker20_QueryProcessorQueue103) 8ObxvDXnPZmp START DATA SRC COMMAND: startTime=2018-01-11 14:17:35.494 requestID=8ObxvDXnPZmp.36 sourceCommandID=0
> executionID=22 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security sql=SELECT g_0.BooleanValue FROM Source.smalla AS g_0 INNER JOIN So
> urce.smallb AS g_1 ON CONVERT(g_0.BooleanValue, byte) = convert(g_1.ByteNum, byte)
> 14:17:35,496 DEBUG [org.teiid.COMMAND_LOG] (Worker20_QueryProcessorQueue103) 8ObxvDXnPZmp SOURCE SRC COMMAND: endTime=2018-01-11 14:17:35.496 requestID=8ObxvDXnPZmp.36 sourceCommandID=0 exe
> cutionID=22 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security sourceCommand=[SELECT g_0.booleanvalue FROM smalla AS g_0 INNER JOIN smallb
> AS g_1 ON g_0.booleanvalue = g_1.bytenum]
> 14:17:35,814 DEBUG [org.teiid.COMMAND_LOG] (Worker20_QueryProcessorQueue103) 8ObxvDXnPZmp ERROR SRC COMMAND: endTime=2018-01-11 14:17:35.814 requestID=8ObxvDXnPZmp.36 sourceCommandID=0 exe
> cutionID=22 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security
> 14:17:35,822 DEBUG [org.teiid.COMMAND_LOG] (Worker19_QueryProcessorQueue104) 8ObxvDXnPZmp END SRC COMMAND: endTime=2018-01-11 14:17:35.822 requestID=8ObxvDXnPZmp.36 sourceCommandID=0 exe
> cutionID=22 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security finalRowCount=0 cpuTime(ns)=13999084
> 14:17:35,823 INFO [org.teiid.COMMAND_LOG] (Worker19_QueryProcessorQueue104) 8ObxvDXnPZmp ERROR USER COMMAND: endTime=2018-01-11 14:17:35.823 requestID=8ObxvDXnPZmp.36 txID=null sessionID=8
> ObxvDXnPZmp principal=user@teiid-security vdbName=PrestoDB vdbVersion=1 finalRowCount=null
> 14:17:35,837 INFO [org.teiid.COMMAND_LOG] (Worker19_QueryProcessorQueue104) 8ObxvDXnPZmp END USER COMMAND: endTime=2018-01-11 14:17:35.837 requestID=8ObxvDXnPZmp.36 txID=null sessionID=8
> ObxvDXnPZmp principal=user@teiid-security vdbName=PrestoDB vdbVersion=1 finalRowCount=0
> {code}
> When the CAST is removed the queries fail with PrestoDB error similar to:
> {code}
> 13:09:28,172 WARN [org.teiid.CONNECTOR] (Worker18_QueryProcessorQueue100) Connector worker process failed for atomic-request=8ObxvDXnPZmp.35.0.21: org.teiid.translator.jdbc.JDBCExecutionException: 1 TEIID11008:TEIID11004 Error executing statement(s): [SQL: SELECT g_0.booleanvalue FROM smalla AS g_0 INNER JOIN smallb AS g_1 ON g_0.booleanvalue = g_1.shortvalue]
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131) [translator-jdbc-8.12.11.6_4-redhat-64-10.jar:8.12.11.6_4-redhat-64-10]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:361)
> at sun.reflect.GeneratedMethodAccessor172.invoke(Unknown Source) [:1.8.0_151]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_151]
> at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_151]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy80.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) [rt.jar:1.8.0_151]
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:284)
> 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:1149) [rt.jar:1.8.0_151]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_151]
> at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151]
> Caused by: java.sql.SQLException: Query failed (#20180111_120927_00021_8zhqn): line 1:89: '=' cannot be applied to boolean, smallint
> at com.facebook.presto.jdbc.PrestoResultSet.resultsException(PrestoResultSet.java:1799)
> at com.facebook.presto.jdbc.PrestoResultSet.getColumns(PrestoResultSet.java:1747)
> at com.facebook.presto.jdbc.PrestoResultSet.<init>(PrestoResultSet.java:125)
> at com.facebook.presto.jdbc.PrestoStatement.execute(PrestoStatement.java:212)
> at com.facebook.presto.jdbc.PrestoStatement.executeQuery(PrestoStatement.java:69)
> at org.jboss.jca.adapters.jdbc.WrappedStatement.executeQuery(WrappedStatement.java:344)
> at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:119) [translator-jdbc-8.12.11.6_4-redhat-64-10.jar:8.12.11.6_4-redhat-64-10]
> ... 17 more
> Caused by: com.facebook.presto.sql.analyzer.SemanticException: line 1:89: '=' cannot be applied to boolean, smallint
> at com.facebook.presto.sql.analyzer.ExpressionAnalyzer$Visitor.getOperator(ExpressionAnalyzer.java:1156)
> at com.facebook.presto.sql.analyzer.ExpressionAnalyzer$Visitor.visitComparisonExpression(ExpressionAnalyzer.java:428)
> at com.facebook.presto.sql.analyzer.ExpressionAnalyzer$Visitor.visitComparisonExpression(ExpressionAnalyzer.java:258)
> at com.facebook.presto.sql.tree.ComparisonExpression.accept(ComparisonExpression.java:71)
> at com.facebook.presto.sql.tree.StackableAstVisitor.process(StackableAstVisitor.java:26)
> at com.facebook.presto.sql.analyzer.ExpressionAnalyzer$Visitor.process(ExpressionAnalyzer.java:277)
> at com.facebook.presto.sql.analyzer.ExpressionAnalyzer.analyze(ExpressionAnalyzer.java:234)
> at com.facebook.presto.sql.analyzer.ExpressionAnalyzer.analyzeExpression(ExpressionAnalyzer.java:1460)
> at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.analyzeExpression(StatementAnalyzer.java:1828)
> at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitJoin(StatementAnalyzer.java:1060)
> at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitJoin(StatementAnalyzer.java:237)
> at com.facebook.presto.sql.tree.Join.accept(Join.java:90)
> at com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:27)
> at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:249)
> at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.analyzeFrom(StatementAnalyzer.java:1693)
> at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitQuerySpecification(StatementAnalyzer.java:855)
> at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitQuerySpecification(StatementAnalyzer.java:237)
> at com.facebook.presto.sql.tree.QuerySpecification.accept(QuerySpecification.java:127)
> at com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:27)
> at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:249)
> at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:259)
> at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitQuery(StatementAnalyzer.java:600)
> at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitQuery(StatementAnalyzer.java:237)
> at com.facebook.presto.sql.tree.Query.accept(Query.java:94)
> at com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:27)
> at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:249)
> at com.facebook.presto.sql.analyzer.StatementAnalyzer.analyze(StatementAnalyzer.java:223)
> at com.facebook.presto.sql.analyzer.Analyzer.analyze(Analyzer.java:68)
> at com.facebook.presto.sql.analyzer.Analyzer.analyze(Analyzer.java:60)
> at com.facebook.presto.execution.SqlQueryExecution.doAnalyzeQuery(SqlQueryExecution.java:296)
> at com.facebook.presto.execution.SqlQueryExecution.analyzeQuery(SqlQueryExecution.java:282)
> at com.facebook.presto.execution.SqlQueryExecution.start(SqlQueryExecution.java:238)
> at com.facebook.presto.execution.QueuedExecution.lambda$start$1(QueuedExecution.java:62)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_151]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_151]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_151]
> 13:09:28,194 WARN [org.teiid.PROCESSOR] (Worker17_QueryProcessorQueue101) TEIID30020 Processing exception for request 8ObxvDXnPZmp.35 'TEIID30504 Source: 1 TEIID11008:TEIID11004 Error executing statement(s): [SQL: SELECT g_0.booleanvalue FROM smalla AS g_0 INNER JOIN smallb AS g_1 ON g_0.booleanvalue = g_1.shortvalue]'. Originally TeiidProcessingException 'line 1:89: '=' cannot be applied to boolean, smallint' ExpressionAnalyzer.java:1156. Enable more detailed logging to see the entire stacktrace.
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 2 months
[JBoss JIRA] (TEIID-5208) PrestoDB removes CAST from join criteria for certain datatypes
by Jan Stastny (JIRA)
Jan Stastny created TEIID-5208:
----------------------------------
Summary: PrestoDB removes CAST from join criteria for certain datatypes
Key: TEIID-5208
URL: https://issues.jboss.org/browse/TEIID-5208
Project: Teiid
Issue Type: Bug
Components: Misc. Connectors
Affects Versions: 8.12.x-6.4
Reporter: Jan Stastny
Assignee: Steven Hawkins
For certain datatypes prestodb translator removes join criteria from a query before pushing it.
# For short data type
For query:
{code}
SELECT A.BooleanValue FROM BQT1.SMallA AS A JOIN BQT2.SmallB AS B ON CONVERT(A.BooleanValue, short)=B.ShortValue
{code}
I get following query pushed:
{code}
SELECT g_0.booleanvalue FROM smalla AS g_0 INNER JOIN smallb
AS g_1 ON g_0.booleanvalue = g_1.shortvalue
{code}
All entries in command log:
{code}
13:09:27,827 INFO [org.teiid.COMMAND_LOG] (New I/O worker #1) 8ObxvDXnPZmp START USER COMMAND: startTime=2018-01-11 13:09:27.827 requestID=8ObxvDXnPZmp.35 txID=null sessionID=8ObxvDXnP
Zmp applicationName=JDBC principal=user@teiid-security vdbName=PrestoDB vdbVersion=1 sql=SELECT A.BooleanValue FROM BQT1.SMallA AS A JOIN BQT2.SmallB AS B ON CONVERT(A.BooleanValue, short)=B.S
hortValue
13:09:27,841 DEBUG [org.teiid.COMMAND_LOG] (Worker18_QueryProcessorQueue100) 8ObxvDXnPZmp START DATA SRC COMMAND: startTime=2018-01-11 13:09:27.84 requestID=8ObxvDXnPZmp.35 sourceCommandID=0
executionID=21 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security sql=SELECT g_0.BooleanValue FROM Source.smalla AS g_0 INNER JOIN So
urce.smallb AS g_1 ON CONVERT(g_0.BooleanValue, short) = g_1.ShortValue
13:09:27,843 DEBUG [org.teiid.COMMAND_LOG] (Worker18_QueryProcessorQueue100) 8ObxvDXnPZmp SOURCE SRC COMMAND: endTime=2018-01-11 13:09:27.843 requestID=8ObxvDXnPZmp.35 sourceCommandID=0 exe
cutionID=21 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security sourceCommand=[SELECT g_0.booleanvalue FROM smalla AS g_0 INNER JOIN smallb
AS g_1 ON g_0.booleanvalue = g_1.shortvalue]
13:09:28,171 DEBUG [org.teiid.COMMAND_LOG] (Worker18_QueryProcessorQueue100) 8ObxvDXnPZmp ERROR SRC COMMAND: endTime=2018-01-11 13:09:28.171 requestID=8ObxvDXnPZmp.35 sourceCommandID=0 exe
cutionID=21 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security
13:09:28,193 DEBUG [org.teiid.COMMAND_LOG] (Worker17_QueryProcessorQueue101) 8ObxvDXnPZmp END SRC COMMAND: endTime=2018-01-11 13:09:28.193 requestID=8ObxvDXnPZmp.35 sourceCommandID=0 exe
cutionID=21 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security finalRowCount=0 cpuTime(ns)=34953318
13:09:28,194 INFO [org.teiid.COMMAND_LOG] (Worker17_QueryProcessorQueue101) 8ObxvDXnPZmp ERROR USER COMMAND: endTime=2018-01-11 13:09:28.194 requestID=8ObxvDXnPZmp.35 txID=null sessionID=8
ObxvDXnPZmp principal=user@teiid-security vdbName=PrestoDB vdbVersion=1 finalRowCount=null
13:09:28,210 INFO [org.teiid.COMMAND_LOG] (Worker17_QueryProcessorQueue101) 8ObxvDXnPZmp END USER COMMAND: endTime=2018-01-11 13:09:28.21 requestID=8ObxvDXnPZmp.35 txID=null sessionID=8
ObxvDXnPZmp principal=user@teiid-security vdbName=PrestoDB vdbVersion=1 finalRowCount=0
{code}
# for byte datatype
Query:
{code}
SELECT A.BooleanValue FROM BQT1.SMallA AS A, BQT2.SmallB AS B WHERE CONVERT(A.BooleanValue, byte)=B.ByteNum
{code}
Source query
{code}
SELECT g_0.booleanvalue FROM smalla AS g_0 INNER JOIN smallb
AS g_1 ON g_0.booleanvalue = g_1.bytenum
{code}
Command log
{code}
14:17:34,955 INFO [org.teiid.COMMAND_LOG] (New I/O worker #1) 8ObxvDXnPZmp START USER COMMAND: startTime=2018-01-11 14:17:34.955 requestID=8ObxvDXnPZmp.36 txID=null sessionID=8ObxvDXnP
Zmp applicationName=JDBC principal=user@teiid-security vdbName=PrestoDB vdbVersion=1 sql=SELECT A.BooleanValue FROM BQT1.SMallA AS A, BQT2.SmallB AS B WHERE CONVERT(A.BooleanValue, byte)=B.Byt
eNum
14:17:35,494 DEBUG [org.teiid.COMMAND_LOG] (Worker20_QueryProcessorQueue103) 8ObxvDXnPZmp START DATA SRC COMMAND: startTime=2018-01-11 14:17:35.494 requestID=8ObxvDXnPZmp.36 sourceCommandID=0
executionID=22 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security sql=SELECT g_0.BooleanValue FROM Source.smalla AS g_0 INNER JOIN So
urce.smallb AS g_1 ON CONVERT(g_0.BooleanValue, byte) = convert(g_1.ByteNum, byte)
14:17:35,496 DEBUG [org.teiid.COMMAND_LOG] (Worker20_QueryProcessorQueue103) 8ObxvDXnPZmp SOURCE SRC COMMAND: endTime=2018-01-11 14:17:35.496 requestID=8ObxvDXnPZmp.36 sourceCommandID=0 exe
cutionID=22 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security sourceCommand=[SELECT g_0.booleanvalue FROM smalla AS g_0 INNER JOIN smallb
AS g_1 ON g_0.booleanvalue = g_1.bytenum]
14:17:35,814 DEBUG [org.teiid.COMMAND_LOG] (Worker20_QueryProcessorQueue103) 8ObxvDXnPZmp ERROR SRC COMMAND: endTime=2018-01-11 14:17:35.814 requestID=8ObxvDXnPZmp.36 sourceCommandID=0 exe
cutionID=22 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security
14:17:35,822 DEBUG [org.teiid.COMMAND_LOG] (Worker19_QueryProcessorQueue104) 8ObxvDXnPZmp END SRC COMMAND: endTime=2018-01-11 14:17:35.822 requestID=8ObxvDXnPZmp.36 sourceCommandID=0 exe
cutionID=22 txID=null modelName=Source translatorName=prestodb sessionID=8ObxvDXnPZmp principal=user@teiid-security finalRowCount=0 cpuTime(ns)=13999084
14:17:35,823 INFO [org.teiid.COMMAND_LOG] (Worker19_QueryProcessorQueue104) 8ObxvDXnPZmp ERROR USER COMMAND: endTime=2018-01-11 14:17:35.823 requestID=8ObxvDXnPZmp.36 txID=null sessionID=8
ObxvDXnPZmp principal=user@teiid-security vdbName=PrestoDB vdbVersion=1 finalRowCount=null
14:17:35,837 INFO [org.teiid.COMMAND_LOG] (Worker19_QueryProcessorQueue104) 8ObxvDXnPZmp END USER COMMAND: endTime=2018-01-11 14:17:35.837 requestID=8ObxvDXnPZmp.36 txID=null sessionID=8
ObxvDXnPZmp principal=user@teiid-security vdbName=PrestoDB vdbVersion=1 finalRowCount=0
{code}
When the CAST is removed the queries fail with PrestoDB error similar to:
{code}
13:09:28,172 WARN [org.teiid.CONNECTOR] (Worker18_QueryProcessorQueue100) Connector worker process failed for atomic-request=8ObxvDXnPZmp.35.0.21: org.teiid.translator.jdbc.JDBCExecutionException: 1 TEIID11008:TEIID11004 Error executing statement(s): [SQL: SELECT g_0.booleanvalue FROM smalla AS g_0 INNER JOIN smallb AS g_1 ON g_0.booleanvalue = g_1.shortvalue]
at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131) [translator-jdbc-8.12.11.6_4-redhat-64-10.jar:8.12.11.6_4-redhat-64-10]
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:361)
at sun.reflect.GeneratedMethodAccessor172.invoke(Unknown Source) [:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_151]
at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
at com.sun.proxy.$Proxy80.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) [rt.jar:1.8.0_151]
at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:284)
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:1149) [rt.jar:1.8.0_151]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_151]
at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151]
Caused by: java.sql.SQLException: Query failed (#20180111_120927_00021_8zhqn): line 1:89: '=' cannot be applied to boolean, smallint
at com.facebook.presto.jdbc.PrestoResultSet.resultsException(PrestoResultSet.java:1799)
at com.facebook.presto.jdbc.PrestoResultSet.getColumns(PrestoResultSet.java:1747)
at com.facebook.presto.jdbc.PrestoResultSet.<init>(PrestoResultSet.java:125)
at com.facebook.presto.jdbc.PrestoStatement.execute(PrestoStatement.java:212)
at com.facebook.presto.jdbc.PrestoStatement.executeQuery(PrestoStatement.java:69)
at org.jboss.jca.adapters.jdbc.WrappedStatement.executeQuery(WrappedStatement.java:344)
at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:119) [translator-jdbc-8.12.11.6_4-redhat-64-10.jar:8.12.11.6_4-redhat-64-10]
... 17 more
Caused by: com.facebook.presto.sql.analyzer.SemanticException: line 1:89: '=' cannot be applied to boolean, smallint
at com.facebook.presto.sql.analyzer.ExpressionAnalyzer$Visitor.getOperator(ExpressionAnalyzer.java:1156)
at com.facebook.presto.sql.analyzer.ExpressionAnalyzer$Visitor.visitComparisonExpression(ExpressionAnalyzer.java:428)
at com.facebook.presto.sql.analyzer.ExpressionAnalyzer$Visitor.visitComparisonExpression(ExpressionAnalyzer.java:258)
at com.facebook.presto.sql.tree.ComparisonExpression.accept(ComparisonExpression.java:71)
at com.facebook.presto.sql.tree.StackableAstVisitor.process(StackableAstVisitor.java:26)
at com.facebook.presto.sql.analyzer.ExpressionAnalyzer$Visitor.process(ExpressionAnalyzer.java:277)
at com.facebook.presto.sql.analyzer.ExpressionAnalyzer.analyze(ExpressionAnalyzer.java:234)
at com.facebook.presto.sql.analyzer.ExpressionAnalyzer.analyzeExpression(ExpressionAnalyzer.java:1460)
at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.analyzeExpression(StatementAnalyzer.java:1828)
at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitJoin(StatementAnalyzer.java:1060)
at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitJoin(StatementAnalyzer.java:237)
at com.facebook.presto.sql.tree.Join.accept(Join.java:90)
at com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:27)
at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:249)
at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.analyzeFrom(StatementAnalyzer.java:1693)
at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitQuerySpecification(StatementAnalyzer.java:855)
at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitQuerySpecification(StatementAnalyzer.java:237)
at com.facebook.presto.sql.tree.QuerySpecification.accept(QuerySpecification.java:127)
at com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:27)
at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:249)
at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:259)
at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitQuery(StatementAnalyzer.java:600)
at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.visitQuery(StatementAnalyzer.java:237)
at com.facebook.presto.sql.tree.Query.accept(Query.java:94)
at com.facebook.presto.sql.tree.AstVisitor.process(AstVisitor.java:27)
at com.facebook.presto.sql.analyzer.StatementAnalyzer$Visitor.process(StatementAnalyzer.java:249)
at com.facebook.presto.sql.analyzer.StatementAnalyzer.analyze(StatementAnalyzer.java:223)
at com.facebook.presto.sql.analyzer.Analyzer.analyze(Analyzer.java:68)
at com.facebook.presto.sql.analyzer.Analyzer.analyze(Analyzer.java:60)
at com.facebook.presto.execution.SqlQueryExecution.doAnalyzeQuery(SqlQueryExecution.java:296)
at com.facebook.presto.execution.SqlQueryExecution.analyzeQuery(SqlQueryExecution.java:282)
at com.facebook.presto.execution.SqlQueryExecution.start(SqlQueryExecution.java:238)
at com.facebook.presto.execution.QueuedExecution.lambda$start$1(QueuedExecution.java:62)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_151]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_151]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_151]
13:09:28,194 WARN [org.teiid.PROCESSOR] (Worker17_QueryProcessorQueue101) TEIID30020 Processing exception for request 8ObxvDXnPZmp.35 'TEIID30504 Source: 1 TEIID11008:TEIID11004 Error executing statement(s): [SQL: SELECT g_0.booleanvalue FROM smalla AS g_0 INNER JOIN smallb AS g_1 ON g_0.booleanvalue = g_1.shortvalue]'. Originally TeiidProcessingException 'line 1:89: '=' cannot be applied to boolean, smallint' ExpressionAnalyzer.java:1156. Enable more detailed logging to see the entire stacktrace.
{code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 2 months
[JBoss JIRA] (TEIID-5205) Infinispan hotrod translator timeout on UPDATE
by Jan Stastny (JIRA)
[ https://issues.jboss.org/browse/TEIID-5205?page=com.atlassian.jira.plugin... ]
Jan Stastny reassigned TEIID-5205:
----------------------------------
Assignee: Jan Stastny (was: Van Halbert)
> Infinispan hotrod translator timeout on UPDATE
> ----------------------------------------------
>
> Key: TEIID-5205
> URL: https://issues.jboss.org/browse/TEIID-5205
> Project: Teiid
> Issue Type: Bug
> Components: JDG Connector, Misc. Connectors
> Affects Versions: 8.12.x-6.4
> Reporter: Jan Stastny
> Assignee: Jan Stastny
> Priority: Blocker
> Fix For: 8.12.x-6.4
>
>
> I encounter timeout issue when performing UPDATE operation using Infinispan Hotrod translator.
> For query
> {code:sql}
> UPDATE SmallA SET IntKey = 100 WHERE StringKey = '1'
> {code}
> with cache filled with:
> {code:sql}
> INSERT INTO SmallA (IntKey, StringKey, IntNum, StringNum, FloatNum, LongNum, DoubleNum, ByteNum, DateValue, TimeValue, TimestampValue, BooleanValue, CharValue, ShortValue, BigIntegerValue, BigDecimalValue, ObjectValue) VALUES
> (1, '1', 1, '1', convert(1.01, float), 1, convert(-1.001, double), convert(1, byte), {d '1111-11-11'}, {t '01:01:01'}, {ts '1111-11-11 01:01:01'}, true, convert('1', char), convert(1, short), 1, 1.01, '1'),
> (2, '2', 2, '2', convert(2.02, float), 2, convert(-2.002, double), convert(2, byte), {d '2222-12-22'}, {t '02:02:02'}, {ts '2222-12-22 02:02:02'}, false, convert('2', char), convert(2, short), 2, 2.02, '2')
> {code}
> results in ARJUNA timeout after 5 minutes:
> {code}
> 14:44:45,068 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffff0a2804a2:45f23ecc:5a54c5e8:f in state RUN
> 14:44:45,070 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012095: Abort of action id 0:ffff0a2804a2:45f23ecc:5a54c5e8:f invoked while multiple threads active within it.
> 14:44:45,071 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012108: CheckedAction::check - atomic action 0:ffff0a2804a2:45f23ecc:5a54c5e8:f aborting with 1 threads active!
> 14:44:45,072 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffff0a2804a2:45f23ecc:5a54c5e8:f
> {code}
> and the query hangs.
> Interestingly, the changes get promoted to the cache. Just the query doesn't return.
> Command log for the update query:
> {code}
> 14:39:45,304 DEBUG [org.teiid.COMMAND_LOG] (Worker0_QueryProcessorQueue10) yl6LbuQEyWKk START DATA SRC COMMAND: startTime=2018-01-09 14:39:45.304 requestID=yl6LbuQEyWKk.3 sourceCommandID=2 executionID=5 txID=TransactionImple < ac, BasicAction: 0:ffff0a2804a2:45f23ecc:5a54c5e8:f status: ActionStatus.RUNNING > modelName=Source translatorName=infinispan-hotrod sessionID=yl6LbuQEyWKk principal=user@teiid-security sql=UPDATE Source.SmallA SET IntKey = 100, IntNum = 1, StringNum = '1', FloatNum = 1.01, LongNum = 1, DoubleNum = -1.001, ByteNum = 1, DateValue = '1111-11-11', TimeValue = '01:01:01', TimestampValue = '1111-11-11 01:01:01.0', BooleanValue = TRUE, CharValue = '1', ShortValue = 1, BigIntegerValue = '1', BigDecimalValue = '1.01', ObjectValue = '1' WHERE StringKey = '1'
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 2 months