[ 
https://issues.apache.org/jira/browse/DRILL-4949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Arina Ielchiieva resolved DRILL-4949.
-------------------------------------
    Resolution: Fixed

> Need better handling of empty parquet files
> -------------------------------------------
>
>                 Key: DRILL-4949
>                 URL: https://issues.apache.org/jira/browse/DRILL-4949
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Storage - Parquet
>    Affects Versions: 1.9.0
>            Reporter: Krystal
>            Priority: Major
>             Fix For: 1.17.0
>
>
> I have an empty parquet file created from hive.  When I tried to query 
> against this table I got "IllegalArgumentException".
> {code}
> select * from `test_dir/voter_empty`;
> Error: SYSTEM ERROR: IllegalArgumentException: MinorFragmentId 0 has no read 
> entries assigned
>   (org.apache.drill.exec.work.foreman.ForemanException) Unexpected exception 
> during fragment initialization: MinorFragmentId 0 has no read entries assigned
>     org.apache.drill.exec.work.foreman.Foreman.run():281
>     java.util.concurrent.ThreadPoolExecutor.runWorker():1145
>     java.util.concurrent.ThreadPoolExecutor$Worker.run():615
>     java.lang.Thread.run():745
>   Caused By (java.lang.IllegalArgumentException) MinorFragmentId 0 has no 
> read entries assigned
>     com.google.common.base.Preconditions.checkArgument():122
>     org.apache.drill.exec.store.parquet.ParquetGroupScan.getSpecificScan():824
>     org.apache.drill.exec.store.parquet.ParquetGroupScan.getSpecificScan():101
>     org.apache.drill.exec.planner.fragment.Materializer.visitGroupScan():68
>     org.apache.drill.exec.planner.fragment.Materializer.visitGroupScan():35
>     org.apache.drill.exec.physical.base.AbstractGroupScan.accept():63
>     org.apache.drill.exec.planner.fragment.Materializer.visitOp():102
>     org.apache.drill.exec.planner.fragment.Materializer.visitOp():35
>     
> org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitProject():79
>     org.apache.drill.exec.physical.config.Project.accept():51
>     org.apache.drill.exec.planner.fragment.Materializer.visitStore():82
>     org.apache.drill.exec.planner.fragment.Materializer.visitStore():35
>     
> org.apache.drill.exec.physical.base.AbstractPhysicalVisitor.visitScreen():202
>     org.apache.drill.exec.physical.config.Screen.accept():98
>     
> org.apache.drill.exec.planner.fragment.SimpleParallelizer.generateWorkUnit():283
>     
> org.apache.drill.exec.planner.fragment.SimpleParallelizer.getFragments():127
>     org.apache.drill.exec.work.foreman.Foreman.getQueryWorkUnit():596
>     org.apache.drill.exec.work.foreman.Foreman.runPhysicalPlan():426
>     org.apache.drill.exec.work.foreman.Foreman.runSQL():1010
>     org.apache.drill.exec.work.foreman.Foreman.run():264
>     java.util.concurrent.ThreadPoolExecutor.runWorker():1145
>     java.util.concurrent.ThreadPoolExecutor$Worker.run():615
>     java.lang.Thread.run():745 (state=,code=0)
> {code}
> Either drill should block the query and display a user friendly error message 
> or allow the query to run and return empty result.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to