drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "godfrey he (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DRILL-4889) throw NPE or AssertionError in FindPartitionConditions when running some SQLs on partition table
Date Wed, 14 Sep 2016 09:35:20 GMT

     [ 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
as below:

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)

<br>

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
as below:
> 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)
> <br>
> 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)

Mime
View raw message