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)

Reply via email to