Dmitry Lychagin created ASTERIXDB-2845:
------------------------------------------
Summary: Compilation failure in SubplanFlatteningUtil
Key: ASTERIXDB-2845
URL: https://issues.apache.org/jira/browse/ASTERIXDB-2845
Project: Apache AsterixDB
Issue Type: Bug
Components: COMP - Compiler
Affects Versions: 0.9.6
Reporter: Dmitry Lychagin
Assignee: Dmitry Lychagin
Fix For: 0.9.7
The following query fails with NullPointerException in SubplanFlatteningUtil
{noformat}
create dataset jds(jid integer not unknown) open type primary key jid;
create dataset mds(mid integer not unknown) open type primary key mid;
SET `compiler.sort.parallel` "false";
WITH j AS (SELECT jid, a FROM jds),
m1 AS (SELECT jid, x, COUNT(1) c1 FROM mds GROUP BY jid, x),
m2 AS (SELECT jid, y, COUNT(1) c2 FROM mds GROUP BY jid, y)
SELECT j.jid AS j_jid, j.a AS j_a,
m1.jid AS m1_jid, m1.x AS m1_x, m1.c1 AS m1_c1,
m2.jid AS m2_jid, m2.y AS m2_y, m2.c2 AS m2_c2
FROM j
LEFT OUTER JOIN m1 ON j.jid=m1.jid
LEFT OUTER JOIN m2 ON j.jid=m1.jid
ORDER BY j_jid, m1_x, m2_y, m2_jid
{noformat}
Exception stack trace
{noformat}
INFO org.apache.asterix.app.translator.QueryTranslator - Cannot invoke
"org.apache.commons.lang3.mutable.Mutable.getValue()" because the return value
of
"org.apache.asterix.optimizer.rules.subplan.SubplanFlatteningUtil.findLowestAggregate(org.apache.commons.lang3.mutable.Mutable)"
is null
java.lang.NullPointerException: Cannot invoke
"org.apache.commons.lang3.mutable.Mutable.getValue()" because the return value
of
"org.apache.asterix.optimizer.rules.subplan.SubplanFlatteningUtil.findLowestAggregate(org.apache.commons.lang3.mutable.Mutable)"
is null
at
org.apache.asterix.optimizer.rules.subplan.SubplanFlatteningUtil.inlineAllNestedTupleSource(SubplanFlatteningUtil.java:66)
~[classes/:?]
at
org.apache.asterix.optimizer.rules.subplan.InlineSubplanInputForNestedTupleSourceRule.applyGeneralFlattening(InlineSubplanInputForNestedTupleSourceRule.java:377)
~[classes/:?]
at
org.apache.asterix.optimizer.rules.subplan.InlineSubplanInputForNestedTupleSourceRule.rewriteSubplanOperator(InlineSubplanInputForNestedTupleSourceRule.java:308)
~[classes/:?]
at
org.apache.asterix.optimizer.rules.subplan.InlineSubplanInputForNestedTupleSourceRule.traverseNonSubplanOperator(InlineSubplanInputForNestedTupleSourceRule.java:336)
~[classes/:?]
at
org.apache.asterix.optimizer.rules.subplan.InlineSubplanInputForNestedTupleSourceRule.rewriteSubplanOperator(InlineSubplanInputForNestedTupleSourceRule.java:290)
~[classes/:?]
at
org.apache.asterix.optimizer.rules.subplan.InlineSubplanInputForNestedTupleSourceRule.traverseNonSubplanOperator(InlineSubplanInputForNestedTupleSourceRule.java:336)
~[classes/:?]
{noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)