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

NullPointerException when parsing a query with hints in UNION ALL

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.4.0
    • 4.6.0
    • None
    • None
    • 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

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

            Dates

              Created:
              Updated:
              Resolved: