Bug 1296547

Summary: Redshift - query ends with error message "Query cancelled on user's request"
Product: [JBoss] JBoss Data Virtualization 6 Reporter: Juraj Duráni <jdurani>
Component: TeiidAssignee: Van Halbert <vhalbert>
Status: CLOSED CURRENTRELEASE QA Contact: Juraj Duráni <jdurani>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3.0CC: aszczucz, blafond, jolee, mbaluch, thauser, vhalbert
Target Milestone: ER1   
Target Release: 6.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-24 11:46:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Juraj Duráni 2016-01-07 13:44:01 UTC
Description of problem:
If one query ends with PSQLException, every next query ends with exception with error message "Query cancelled on user's request". This happens even if new connection to VDB is created.

Query 1: select convert(timevalue, time) from source.smalla
Query 2: select 1 from source.smalla

Result of query 1:
14:26:56,197 WARN  [org.teiid.PROCESSOR] (Worker17_QueryProcessorQueue187) TEIID30020 Processing exception for request 0iWdE3mYfqbA.0 'TEIID30504 rs: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT cast(date_trunc('second', g_0.timevalue) AS time) FROM smalla AS g_0]'. Originally TeiidProcessingException 'ERROR: Specified types or functions (one per INFO message) not supported on Redshift tables.' QueryExecutorImpl.java:2157.: org.teiid.core.TeiidProcessingException: TEIID30504 rs: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT cast(date_trunc('second', g_0.timevalue) AS time) FROM smalla AS g_0]
	at org.teiid.dqp.internal.process.DataTierTupleSource.exceptionOccurred(DataTierTupleSource.java:401) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:161) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:374) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:470) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_40]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40]
	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]
Caused by: org.teiid.translator.jdbc.JDBCExecutionException: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT cast(date_trunc('second', g_0.timevalue) AS time) FROM smalla AS g_0]
	at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131)
	at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:349) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at sun.reflect.GeneratedMethodAccessor189.invoke(Unknown Source) [:1.8.0_40]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_40]
	at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_40]
	at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at com.sun.proxy.$Proxy124.execute(Unknown Source)
	at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_40]
	at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65) [teiid-engine-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	... 6 more
Caused by: org.postgresql.util.PSQLException: ERROR: Specified types or functions (one per INFO message) not supported on Redshift tables.
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)
	at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:462)
	at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:123)
	... 17 more

Result of query 2:
14:35:06,805 DEBUG [org.teiid.CONNECTOR] (Worker20_QueryProcessorQueue200) Source-specific command: SELECT 1 FROM smalla AS g_0
14:35:06,983 WARN  [org.teiid.CONNECTOR] (Worker20_QueryProcessorQueue200) Connector worker process failed for atomic-request=bD3A8iB3KL+0.3.0.48: org.teiid.translator.jdbc.JDBCExecutionException: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: [] SQL: SELECT 1 FROM smalla AS g_0]
	at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:131) [translator-jdbc-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:349)
	at sun.reflect.GeneratedMethodAccessor189.invoke(Unknown Source) [:1.8.0_40]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_40]
	at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_40]
	at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
	at com.sun.proxy.$Proxy124.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_40]
	at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
	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) [rt.jar:1.8.0_40]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40]
	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]
Caused by: org.postgresql.util.PSQLException: ERROR: Query cancelled on user's request
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2157)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1886)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:555)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:417)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:302)
	at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:462)
	at org.teiid.translator.jdbc.JDBCQueryExecution.execute(JDBCQueryExecution.java:123) [translator-jdbc-8.12.3.redhat-1.jar:8.12.3.redhat-1]
	... 17 more




Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
<vdb name="test" version="1">
    <model name="Source" type="PHYSICAL">
        <source name="rs" connection-jndi-name="java:/Redshift" translator-name="postgresql"/>
        <metadata type="DDL">
            <![CDATA[create foreign table SmallA (
                intkey integer OPTIONS(NAMEINSOURCE 'intkey', NATIVE_TYPE 'int4'),
                timevalue timestamp OPTIONS(NAMEINSOURCE 'timevalue', NATIVE_TYPE 'timestamp')) OPTIONS(NAMEINSOURCE 'smalla');
            ]]>
        </metadata>
    </model>
</vdb>
Actual results:


Expected results:


Additional info:

Comment 1 JBoss JIRA Server 2016-01-08 13:48:18 UTC
Steven Hawkins <shawkins> updated the status of jira TEIID-3886 to Resolved

Comment 2 Van Halbert 2016-01-08 13:54:56 UTC
Note:  a new redshift translator has been created to account for the different capabilities than the postgresql translator.