Victoria Markman created DRILL-2391:
---------------------------------------
Summary: NPE during cleanup in parquet record writer when query
fails during execution on CTAS
Key: DRILL-2391
URL: https://issues.apache.org/jira/browse/DRILL-2391
Project: Apache Drill
Issue Type: Bug
Components: Storage - Parquet
Affects Versions: 0.8.0
Reporter: Victoria Markman
Assignee: Steven Phillips
Query below fails during execution due to the user error:
{code}
0: jdbc:drill:schema=dfs> select
. . . . . . . . . . . . > case when columns[0] = '' then cast(null as
varchar(255)) else cast(columns[0] as varchar(255)) end,
. . . . . . . . . . . . > case when columns[1] = '' then cast(null as
integer) else cast(columns[1] as integer) end,
. . . . . . . . . . . . > case when columns[2] = '' then cast(null as
bigint) else cast(columns[2] as bigint) end,
. . . . . . . . . . . . > case when columns[3] = '' then cast(null as
float) else cast(columns[3] as float) end,
. . . . . . . . . . . . > case when columns[4] = '' then cast(null as
double) else cast(columns[4] as double) end,
. . . . . . . . . . . . > case when columns[5] = '' then cast(null as
date) else cast(columns[6] as date) end,
. . . . . . . . . . . . > case when columns[6] = '' then cast(null as
time) else cast(columns[7] as time) end,
. . . . . . . . . . . . > case when columns[7] = '' then cast(null as
timestamp) else cast(columns[8] as timestamp) end,
. . . . . . . . . . . . > case when columns[8] = '' then cast(null as
boolean) else cast(columns[9] as boolean) end,
. . . . . . . . . . . . > case when columns[9] = '' then cast(null as
decimal(8,2)) else cast(columns[9] as decimal(8,2)) end,
. . . . . . . . . . . . > case when columns[10] = '' then cast(null as
decimal(18,4)) else cast(columns[10] as decimal(18,4)) end,
. . . . . . . . . . . . > case when columns[11] = '' then cast(null as
decimal(28,4)) else cast(columns[11] as decimal(28,4)) end,
. . . . . . . . . . . . > case when columns[12] = '' then cast(null as
decimal(38,6)) else cast(columns[12] as decimal(38,6)) end
. . . . . . . . . . . . > from `t5.csv`;
Query failed: RemoteRpcException: Failure while running fragment., Value 0 for
monthOfYear must be in the range [1,12] [ 5a56453c-304d-430a-b4b2-fbc48c9c2766
on atsqa4-133.qa.lab:31010 ]
[ 5a56453c-304d-430a-b4b2-fbc48c9c2766 on atsqa4-133.qa.lab:31010 ]
Error: exception while executing query: Failure while executing query.
(state=,code=0)
{code}
If I run the same query in CTAS, I get NPE during cleanup in parquet writer.
{code}
2015-03-05 22:31:05,212 [2b0726d7-4127-2a83-8c83-2376b767d800:frag:0:0] ERROR
o.a.d.e.w.f.AbstractStatusReporter - Error
50633e23-7e6f-48b8-82ec-a395c5c596e4: Failure while running fragment.
java.lang.NullPointerException: null
at
org.apache.drill.exec.store.parquet.ParquetRecordWriter.cleanup(ParquetRecordWriter.java:318)
~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.WriterRecordBatch.cleanup(WriterRecordBatch.java:187)
~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.cleanup(IteratorValidatorBatchIterator.java:148)
~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
at
org.apache.drill.exec.record.AbstractSingleRecordBatch.cleanup(AbstractSingleRecordBatch.java:121)
~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.cleanup(IteratorValidatorBatchIterator.java:148)
~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.internalStop(ScreenCreator.java:178)
~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext(ScreenCreator.java:101)
~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
at
org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:57)
~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
at
org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:121)
~[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
at
org.apache.drill.exec.work.WorkManager$RunnableWrapper.run(WorkManager.java:303)
[drill-java-exec-0.8.0-SNAPSHOT-rebuffed.jar:0.8.0-SNAPSHOT]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[na:1.7.0_71]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[na:1.7.0_71]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71]
2015-03-05 22:31:05,213 [2b0726d7-4127-2a83-8c83-2376b767d800:frag:0:0] INFO
o.a.drill.exec.work.foreman.Foreman - State change requested. RUNNING -->
FAILED
org.apache.drill.exec.rpc.RemoteRpcException: Failure while running fragment.[
50633e23-7e6f-48b8-82ec-a395c5c596e4 on atsqa4-133.qa.lab:31010 ]
[ 50633e23-7e6f-48b8-82ec-a395c5c596e4 on atsqa4-133.qa.lab:31010 ]
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)