[ https://issues.apache.org/jira/browse/PHOENIX-2295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14947742#comment-14947742 ]
Alicia Ying Shu commented on PHOENIX-2295: ------------------------------------------ [~samarthjain] For this particular case, there is no problem for AggregatePlan and UnionPlan. But it is good to check others. I modified the patch and checked additional more. Thanks for the review! > NullPointerException when parsing a query with hints in UNION ALL > ----------------------------------------------------------------- > > Key: PHOENIX-2295 > URL: https://issues.apache.org/jira/browse/PHOENIX-2295 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.4.0 > Environment: Linux, phoenix phoenix-4.4.0-HBase-1.1 > Reporter: Gasper Metelko > Assignee: Alicia Ying Shu > Attachments: PHOENIX-2295-v1.patch, PHOENIX-2295.patch > > > 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) -- This message was sent by Atlassian JIRA (v6.3.4#6332)