Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-2295

NullPointerException when parsing a query with hints in UNION ALL

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.4.0
    • Fix Version/s: 4.6.0
    • Component/s: None
    • Labels:
      None
    • Environment:

      Linux, phoenix phoenix-4.4.0-HBase-1.1

      Description

      On the following db objects:
      CREATE TABLE table1 (
      id BIGINT,
      col1 VARCHAR,
      col2 VARCHAR,
      CONSTRAINT pk PRIMARY KEY (id)) IMMUTABLE_ROWS=true;

      CREATE TABLE table2 (
      id BIGINT,
      col1 VARCHAR,
      col2 VARCHAR,
      CONSTRAINT pk PRIMARY KEY (id)) IMMUTABLE_ROWS=true;

      CREATE INDEX INDEX_TABLE1_COL ON table1 (col1);

      CREATE INDEX INDEX_TABLE2_COL ON table2 (col1);

      explain SELECT /+ INDEX(table1 INDEX_TABLE1_COL) */ col1, col2 FROM table1 WHERE col1='123' UNION ALL SELECT /+ INDEX(table2 INDEX_TABLE2_COL) */ col1, col2 FROM table2 WHERE col1='123';

      On running the above statement there is a NPE:
      java.lang.NullPointerException
      at java.util.ArrayList.addAll(ArrayList.java:559)
      at org.apache.phoenix.iterate.UnionResultIterators.<init>(UnionResultIterators.java:51)
      at org.apache.phoenix.execute.UnionPlan.iterator(UnionPlan.java:131)
      at org.apache.phoenix.execute.UnionPlan.iterator(UnionPlan.java:127)
      at org.apache.phoenix.execute.UnionPlan.getExplainPlan(UnionPlan.java:150)
      at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableExplainStatement.compilePlan(PhoenixStatement.java:424)
      at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableExplainStatement.compilePlan(PhoenixStatement.java:403)
      at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:246)
      at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:241)
      at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
      at org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:240)
      at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1250)
      at sqlline.Commands.execute(Commands.java:822)
      at sqlline.Commands.sql(Commands.java:732)
      at sqlline.SqlLine.dispatch(SqlLine.java:808)
      at sqlline.SqlLine.begin(SqlLine.java:681)
      at sqlline.SqlLine.start(SqlLine.java:398)
      at sqlline.SqlLine.main(SqlLine.java:292)

        Attachments

        1. PHOENIX-2295-v1.patch
          6 kB
          Alicia Ying Shu
        2. PHOENIX-2295.patch
          3 kB
          Alicia Ying Shu

          Activity

            People

            • Assignee:
              aliciashu Alicia Ying Shu
              Reporter:
              metelkog Gasper Metelko
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: