You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Krystal (JIRA)" <ji...@apache.org> on 2016/10/17 17:44:58 UTC

[jira] [Created] (DRILL-4949) Need better handling of empty parquet files

Krystal created DRILL-4949:
------------------------------

             Summary: 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


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
(v6.3.4#6332)