Michael Smith created IMPALA-13505:
--------------------------------------
Summary: NullPointerException in Analyzer.resolveActualPath with
Calcite planner
Key: IMPALA-13505
URL: https://issues.apache.org/jira/browse/IMPALA-13505
Project: IMPALA
Issue Type: Bug
Components: Frontend
Reporter: Michael Smith
Encountered a NullPointerException when running some TPC-DS queries (such as
q8) with the Calcite planner:
{code}
Stack Trace:java.lang.NullPointerException
at
org.apache.impala.analysis.Analyzer.lambda$resolveActualPath$18(Analyzer.java:4699)
at java.util.Collections$2.tryAdvance(Collections.java:4719)
at java.util.Collections$2.forEachRemaining(Collections.java:4727)
at
java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:647)
at
org.apache.impala.analysis.Analyzer.resolveActualPath(Analyzer.java:4690)
at
org.apache.impala.analysis.Analyzer.lambda$addColumnsTo$17(Analyzer.java:4655)
at
java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at
java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at
java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
at
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at
java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at
java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at
java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
at org.apache.impala.analysis.Analyzer.addColumnsTo(Analyzer.java:4655)
at
org.apache.impala.analysis.Analyzer.addJoinColumns(Analyzer.java:4732)
at org.apache.impala.planner.JoinNode.init(JoinNode.java:293)
at org.apache.impala.planner.HashJoinNode.init(HashJoinNode.java:82)
at
org.apache.impala.calcite.rel.phys.ImpalaHashJoinNode.<init>(ImpalaHashJoinNode.java:46)
...
{code}
{{SlotRef.getResolvedPath}} returns null at line 4699. Looking at the SlotRef,
I don't see any way to determine an origin, so this may be part of incomplete
implementation of the Calcite planner integration.
To reproduce
{code}
$ start-impala-cluster.py -s 1 --use_calcite_planner=true
$ impala-py.test
tests/query_test/test_tpcds_queries.py::TestTpcdsDecimalV2Query::test_tpcds_q8
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)