]
Steven Hawkins resolved TEIID-2946.
-----------------------------------
Resolution: Done
Added a null check in the prefetch logic
NPE with a join and a dup_remove child
--------------------------------------
Key: TEIID-2946
URL:
https://issues.jboss.org/browse/TEIID-2946
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 8.7
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Priority: Critical
Fix For: 8.7.1, 8.8
A plan structure such as:
{code}
JoinNode ... [CROSS JOIN]
...
SortNode ... [DUP_REMOVE]
{code}
Will cause an NPE during prefetch:
{code}
28 Apr 2014 05:35:28,574 ERROR [org.teiid.PROCESSOR] (http-CA31/141.202.65.31:30804-2)
eA83y/9ZGnji TEIID30019 Unexpected exception for request eA83y/9ZGnji.6:
java.lang.NullPointerException
at org.teiid.query.processor.relational.SourceState.prefetch(SourceState.java:203)
at org.teiid.query.processor.relational.JoinNode.prefetch(JoinNode.java:231)
at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:223)
{code}
This is an oversight in that we generally are expecting an equi-join (which would
incorporate the dup removal processing) or marking the dup remove as dup remove sort (the
fully blocking variant).