[
https://issues.jboss.org/browse/TEIID-2900?page=com.atlassian.jira.plugin...
]
Tom Arnold edited comment on TEIID-2900 at 3/19/14 3:14 PM:
------------------------------------------------------------
I can reproduce the issue on 8.7 beta 2 with the attached TestTranslator. The Foo VDB has
two models. The translator reads the number of rows of dummy data to return from the VDB
property "Rows". You will need to add a dummy webservice connection def and
update the VDB, even though the translator doesn't use it.
{code:sql}
select * from (
(select identifier from test.foo)
union all
(select identifier from test2.foo)
) x
order by identifier desc
limit 1000;
{code}
{code}
15:04:59,253 ERROR [org.teiid.PROCESSOR] (Worker37_QueryProcessorQueue264) lSLh/RDlsRvJ
TEIID30019 Unexpected exception for request lSLh/RDlsRvJ.0: java.lang.AssertionError:
ASSERTION FAILED: expected reference to be not null
at org.teiid.core.util.Assertion.failed(Assertion.java:73)
[teiid-common-core-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.core.util.Assertion.isNotNull(Assertion.java:100)
[teiid-common-core-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.core.util.Assertion.isNotNull(Assertion.java:92)
[teiid-common-core-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.common.buffer.TupleBuffer.getBatch(TupleBuffer.java:287)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.common.buffer.TupleBuffer.truncateTo(TupleBuffer.java:425)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.query.processor.relational.SortNode.sortPhase(SortNode.java:117)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.query.processor.relational.SortNode.getBuffer(SortNode.java:205)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.query.processor.relational.LimitNode.getBuffer(LimitNode.java:211)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.query.processor.relational.RelationalPlan.getBuffer(RelationalPlan.java:250)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.query.processor.QueryProcessor.getBuffer(QueryProcessor.java:289)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:149)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:141)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:435)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:320)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:248)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:274)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:214)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
[rt.jar:1.7.0_02]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
[rt.jar:1.7.0_02]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_02]
{code}
was (Author: tom9729):
I can reproduce the issue on 8.7 beta 2 with this translator. The Foo VDB has two
models. The translator reads the number of rows of dummy data to return from the VDB
property "Rows".
ASSERTION FAILED with UNION
---------------------------
Key: TEIID-2900
URL:
https://issues.jboss.org/browse/TEIID-2900
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 8.7
Reporter: Tom Arnold
Assignee: Steven Hawkins
Labels: 8.7, assertionfailedexception, union
Attachments: TestTranslator.zip
This is reproducible in Teiid 8.7 beta2 from the downloads page, and in 8.7 beta3 built
from GIT master.
foo has >1000 rows. bar has 28 rows. Playing with the limit, it's possible to get
the query to work.
{code}
<model name="foo">
<source name="foo" translator-name="custom"
connection-jndi-name="java:/FooDS"/>
</model>
<model name="bar">
<source name="bar" translator-name="custom"
connection-jndi-name="java:/BarDS"/>
</model>
{code}
{code:sql}
select * from (
(select identifier from foo.items)
union all
(select identifier from bar.items)
) x
order by identifier desc
limit 1000;
{code}
{code}
11:15:32,992 DEBUG [org.teiid.COMMAND_LOG] (New I/O worker #1) Nqu3TY8Cd+7P START USER
COMMAND: startTime=2014-03-18
11:15:32.992 requestID=Nqu3TY8Cd+7P.0 txID=null sessionID=Nqu3TY8Cd+7P applicationName=JDBCprincipal=user@teiid-security vdbName=Foo vdbVersion=1 sql=select
* from (
(select identifier from foo.items)
union all
(select identifier from bar.items)
) x
order by identifier desc
limit 1000
11:15:33,106 DEBUG [org.teiid.COMMAND_LOG] (Worker1_QueryProcessorQueue1) Nqu3TY8Cd+7P
START DATA SRC COMMAND: startTime=2014-03-18
11:15:33.106 requestID=Nqu3TY8Cd+7P.0 sourceCommandID=4 executionID=0 txID=null modelName=foo translatorName=foo sessionID=Nqu3TY8Cd+7P principal=user@teiid-security sql=SELECT
foo.items.identifier FROM foo.items ORDER BY foo.items.identifier DESC LIMIT 1000
11:15:33,106 DEBUG [org.teiid.COMMAND_LOG] (Worker2_QueryProcessorQueue2) Nqu3TY8Cd+7P
START DATA SRC COMMAND: startTime=2014-03-18
11:15:33.106 requestID=Nqu3TY8Cd+7P.0 sourceCommandID=6 executionID=1 txID=null modelName=bar translatorName=foo sessionID=Nqu3TY8Cd+7P principal=user@teiid-security sql=SELECT
bar.items.identifier FROM bar.items ORDER BY bar.items.identifier DESC LIMIT 1000
11:15:33,154 DEBUG [org.teiid.COMMAND_LOG] (Worker0_QueryProcessorQueue3) Nqu3TY8Cd+7P
END SRC COMMAND: endTime=2014-03-18
11:15:33.154 requestID=Nqu3TY8Cd+7P.0 sourceCommandID=6 executionID=1 txID=null modelName=bar translatorName=foo sessionID=Nqu3TY8Cd+7P principal=user@teiid-security finalRowCount=28
11:15:33,553 DEBUG [org.teiid.COMMAND_LOG] (Worker0_QueryProcessorQueue4) Nqu3TY8Cd+7P
END SRC COMMAND: endTime=2014-03-18
11:15:33.553 requestID=Nqu3TY8Cd+7P.0 sourceCommandID=4 executionID=0 txID=null modelName=foo translatorName=foo sessionID=Nqu3TY8Cd+7P principal=user@teiid-security finalRowCount=1000
11:15:33,567 DEBUG [org.teiid.COMMAND_LOG] (Worker0_QueryProcessorQueue4) Nqu3TY8Cd+7P
ERROR USER COMMAND: endTime=2014-03-18
11:15:33.567 requestID=Nqu3TY8Cd+7P.0 txID=null sessionID=Nqu3TY8Cd+7P principal=user@teiid-security vdbName=Foo vdbVersion=1 finalRowCount=null
11:15:33,568 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue4) Nqu3TY8Cd+7P
TEIID30019 Unexpected exception for request Nqu3TY8Cd+7P.0: java.lang.AssertionError:
ASSERTION FAILED: expected reference to be not null
at org.teiid.core.util.Assertion.failed(Assertion.java:73)
[teiid-common-core-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.core.util.Assertion.isNotNull(Assertion.java:100)
[teiid-common-core-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.core.util.Assertion.isNotNull(Assertion.java:92)
[teiid-common-core-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.common.buffer.TupleBuffer.getBatch(TupleBuffer.java:287)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.common.buffer.TupleBuffer.truncateTo(TupleBuffer.java:425)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.query.processor.relational.SortNode.sortPhase(SortNode.java:117)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.query.processor.relational.SortNode.getBuffer(SortNode.java:205)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.query.processor.relational.LimitNode.getBuffer(LimitNode.java:211)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at
org.teiid.query.processor.relational.RelationalPlan.getBuffer(RelationalPlan.java:250)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.query.processor.QueryProcessor.getBuffer(QueryProcessor.java:289)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:149)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:141)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:435)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:320)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:248)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:274)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:214)
[teiid-engine-8.7.0.Beta2.jar:8.7.0.Beta2]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
[rt.jar:1.7.0_02]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
[rt.jar:1.7.0_02]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_02]
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira