You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "godfrey he (JIRA)" <ji...@apache.org> on 2016/09/14 09:34:20 UTC
[jira] [Updated] (DRILL-4889) throw NPE or AssertionError in
FindPartitionConditions when running some SQLs on partition table
[ https://issues.apache.org/jira/browse/DRILL-4889?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
godfrey he updated DRILL-4889:
------------------------------
Description:
when I ran some SQLs on partition table, I got NPE or AssertionError in FindPartitionConditions
partition_table is a partition table
partition_column is the partition column
none_partition_column is a normal column, not the partition column
SQL 1: select * from partition_table where none_partition_column like '%test%';
and also
SQL 2: select * from partition_table where case when partition_column = '2000' then none_partition_column = 'test' end;
Caused by: java.lang.NullPointerException: null
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions$OpState.access$000(FindPartitionConditions.java:63)
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.analyzeCall(FindPartitionConditions.java:315)
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:260)
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:46)
SQL 3: select * from partition_table where partition_column = 'a' or (partition_column = 'b' and partition_column = '2000')
Caused by: java.lang.AssertionError: null
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.popOpStackAndBuildFilter(FindPartitionConditions.java:198)
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.analyzeCall(FindPartitionConditions.java:335)
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:260)
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:46)
was:
when I ran some SQLs on partition table, I got NPE or AssertionError in FindPartitionConditions
partition_table is a partition table
partition_column is the partition column
none_partition_column is a normal column, not the partition column
SQL 1: select * from partition_table where none_partition_column like '%test%';
and also
SQL 2: select * from partition_table where case when partition_column = '2000' then none_partition_column = 'test' end;
Caused by: java.lang.NullPointerException: null
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions$OpState.access$000(FindPartitionConditions.java:63)
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.analyzeCall(FindPartitionConditions.java:315)
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:260)
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:46)
SQL 3: select * from partition_table where partition_column = 'a' or (partition_column = 'b' and partition_column = '2000')
Caused by: java.lang.AssertionError: null
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.popOpStackAndBuildFilter(FindPartitionConditions.java:198)
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.analyzeCall(FindPartitionConditions.java:335)
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:260)
at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:46)
> throw NPE or AssertionError in FindPartitionConditions when running some SQLs on partition table
> ------------------------------------------------------------------------------------------------
>
> Key: DRILL-4889
> URL: https://issues.apache.org/jira/browse/DRILL-4889
> Project: Apache Drill
> Issue Type: Bug
> Components: Query Planning & Optimization
> Affects Versions: 1.8.0
> Reporter: godfrey he
>
> when I ran some SQLs on partition table, I got NPE or AssertionError in FindPartitionConditions
> partition_table is a partition table
> partition_column is the partition column
> none_partition_column is a normal column, not the partition column
> SQL 1: select * from partition_table where none_partition_column like '%test%';
> and also
> SQL 2: select * from partition_table where case when partition_column = '2000' then none_partition_column = 'test' end;
> Caused by: java.lang.NullPointerException: null
> at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions$OpState.access$000(FindPartitionConditions.java:63)
> at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.analyzeCall(FindPartitionConditions.java:315)
> at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:260)
> at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:46)
> SQL 3: select * from partition_table where partition_column = 'a' or (partition_column = 'b' and partition_column = '2000')
> Caused by: java.lang.AssertionError: null
> at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.popOpStackAndBuildFilter(FindPartitionConditions.java:198)
> at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.analyzeCall(FindPartitionConditions.java:335)
> at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:260)
> at org.apache.drill.exec.planner.logical.partition.FindPartitionConditions.visitCall(FindPartitionConditions.java:46)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)