[jira] [Commented] (DRILL-2985) NPE seen for project distinct values from CSV

2015-05-08 Thread Khurram Faraaz (JIRA)

[ 
https://issues.apache.org/jira/browse/DRILL-2985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14535423#comment-14535423
 ] 

Khurram Faraaz commented on DRILL-2985:
---

This is a regression. I disabled the new text reader and I don't see the NPE, 
the NPE is seen with the new text reader.

{code}
0: jdbc:drill:> alter session set `exec.storage.enable_new_text_reader` = false;
+++
| ok |  summary   |
+++
| true   | exec.storage.enable_new_text_reader updated. |
+++
1 row selected (0.129 seconds)
{code}

We see proper message when new text reader is disabled.

{code}
0: jdbc:drill:> select distinct type from `airports.csv`;
Error: SYSTEM ERROR: Selected column(s) must have name 'columns' or must be 
plain '*'

Fragment 0:0

[Error Id: a43e56d0-31f5-4aec-b881-9269080546dd on centos-04.qa.lab:31010] 
(state=,code=0)
{code}

> NPE seen for project distinct values from CSV
> -
>
> Key: DRILL-2985
> URL: https://issues.apache.org/jira/browse/DRILL-2985
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Storage - Text & CSV
>Affects Versions: 1.0.0
> Environment: d12bee05a8f6e974c70d5d2a94176b176d7dba5b | DRILL-2508: 
> Added a wrapper class for OptionValue to include status Option status: BOOT, 
> DEFAULT, CHANGED | 07.05.2015 @ 13:08:36 EDT
>Reporter: Khurram Faraaz
>Assignee: Steven Phillips
>
> I am seeing a NPE when we project distinct values. Test was run on 4 node 
> cluster on CentOS.
> {code}
> 0: jdbc:drill:> select distinct type from `airports.csv`;
> Error: SYSTEM ERROR: null
> Fragment 0:0
> [Error Id: 9f6e6929-41f6-4821-8a31-8bd45143f3d1 on centos-01.qa.lab:31010] 
> (state=,code=0)
> {code}
> Stacktrace from drillbit.log 
> {code}
> 2015-05-07 20:03:21,790 [2ab43af5-b6a9-0578-c45b-454b1a1a7b35:frag:0:0] ERROR 
> o.a.d.c.e.DrillRuntimeException - SYSTEM ERROR: null
> Fragment 0:0
> [Error Id: 9f6e6929-41f6-4821-8a31-8bd45143f3d1 on centos-01.qa.lab:31010]
> org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: null
> Fragment 0:0
> [Error Id: 9f6e6929-41f6-4821-8a31-8bd45143f3d1 on centos-01.qa.lab:31010]
> at 
> org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:465)
>  ~[drill-common-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.work.fragment.FragmentExecutor.sendFinalState(FragmentExecutor.java:262)
>  [drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:232)
>  [drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38)
>  [drill-common-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  [na:1.7.0_75]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  [na:1.7.0_75]
> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]
> Caused by: java.lang.NullPointerException: null
> at 
> org.apache.drill.exec.store.easy.text.compliant.CompliantTextRecordReader.cleanup(CompliantTextRecordReader.java:147)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.physical.impl.ScanBatch.(ScanBatch.java:104) 
> ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.dfs.easy.EasyFormatPlugin.getReaderBatch(EasyFormatPlugin.java:189)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.dfs.easy.EasyReaderBatchCreator.getBatch(EasyReaderBatchCreator.java:35)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.dfs.easy.EasyReaderBatchCreator.getBatch(EasyReaderBatchCreator.java:28)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatch(ImplCreator.java:140)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.physical.impl.ImplCreator.getChildren(ImplCreator.java:163)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatch(ImplCreator.java:121)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.physical.impl.ImplCreator.getChildren(ImplCreator.java:163)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatc

[jira] [Commented] (DRILL-2985) NPE seen for project distinct values from CSV

2015-05-07 Thread Khurram Faraaz (JIRA)

[ 
https://issues.apache.org/jira/browse/DRILL-2985?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14533353#comment-14533353
 ] 

Khurram Faraaz commented on DRILL-2985:
---

the NPE is returned due to a user error, however we should not return NPE to 
user, a better error needs to be returned.
I used the name type from the CSV header and this leads to NPE. 

Here is the query that returns correct results when I project columns[2]
{code}
0: jdbc:drill:> select distinct columns[2] type from `airports.csv`;
++
|type|
++
| type   |
| heliport   |
| small_airport |
| closed |
| seaplane_base |
| balloonport |
| medium_airport |
| large_airport |
++
8 rows selected (0.337 seconds)
{code}

> NPE seen for project distinct values from CSV
> -
>
> Key: DRILL-2985
> URL: https://issues.apache.org/jira/browse/DRILL-2985
> Project: Apache Drill
>  Issue Type: Bug
>  Components: Storage - Text & CSV
>Affects Versions: 1.0.0
> Environment: d12bee05a8f6e974c70d5d2a94176b176d7dba5b | DRILL-2508: 
> Added a wrapper class for OptionValue to include status Option status: BOOT, 
> DEFAULT, CHANGED | 07.05.2015 @ 13:08:36 EDT
>Reporter: Khurram Faraaz
>Assignee: Steven Phillips
>
> I am seeing a NPE when we project distinct values. Test was run on 4 node 
> cluster on CentOS.
> {code}
> 0: jdbc:drill:> select distinct type from `airports.csv`;
> Error: SYSTEM ERROR: null
> Fragment 0:0
> [Error Id: 9f6e6929-41f6-4821-8a31-8bd45143f3d1 on centos-01.qa.lab:31010] 
> (state=,code=0)
> {code}
> Stacktrace from drillbit.log 
> {code}
> 2015-05-07 20:03:21,790 [2ab43af5-b6a9-0578-c45b-454b1a1a7b35:frag:0:0] ERROR 
> o.a.d.c.e.DrillRuntimeException - SYSTEM ERROR: null
> Fragment 0:0
> [Error Id: 9f6e6929-41f6-4821-8a31-8bd45143f3d1 on centos-01.qa.lab:31010]
> org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: null
> Fragment 0:0
> [Error Id: 9f6e6929-41f6-4821-8a31-8bd45143f3d1 on centos-01.qa.lab:31010]
> at 
> org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:465)
>  ~[drill-common-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.work.fragment.FragmentExecutor.sendFinalState(FragmentExecutor.java:262)
>  [drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:232)
>  [drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38)
>  [drill-common-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  [na:1.7.0_75]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  [na:1.7.0_75]
> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]
> Caused by: java.lang.NullPointerException: null
> at 
> org.apache.drill.exec.store.easy.text.compliant.CompliantTextRecordReader.cleanup(CompliantTextRecordReader.java:147)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.physical.impl.ScanBatch.(ScanBatch.java:104) 
> ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.dfs.easy.EasyFormatPlugin.getReaderBatch(EasyFormatPlugin.java:189)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.dfs.easy.EasyReaderBatchCreator.getBatch(EasyReaderBatchCreator.java:35)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.store.dfs.easy.EasyReaderBatchCreator.getBatch(EasyReaderBatchCreator.java:28)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatch(ImplCreator.java:140)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.physical.impl.ImplCreator.getChildren(ImplCreator.java:163)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatch(ImplCreator.java:121)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.physical.impl.ImplCreator.getChildren(ImplCreator.java:163)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatch(ImplCreator.java:121)
>  ~[drill-java-exec-1.0.0-SNAPSHOT-rebuffed.jar:1.0.0-SNAPSHOT]
> at 
> org.apache.drill.exec.physical.impl.ImplCreator.getChildren(ImplCreator.