You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by "Vitalii Diravka (JIRA)" <ji...@apache.org> on 2018/12/06 17:16:00 UTC

[jira] [Resolved] (DRILL-4055) Query over nested empty directory results in IOB Exception

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

Vitalii Diravka resolved DRILL-4055.
------------------------------------
    Resolution: Done
      Assignee: Vitalii Diravka

> Query over nested empty directory results in IOB Exception
> ----------------------------------------------------------
>
>                 Key: DRILL-4055
>                 URL: https://issues.apache.org/jira/browse/DRILL-4055
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Flow
>    Affects Versions: 1.3.0
>         Environment: 4 node cluster CentOS
>            Reporter: Khurram Faraaz
>            Assignee: Vitalii Diravka
>            Priority: Major
>             Fix For: 1.13.0
>
>
> SELECT * over a nested empty directory results in IOB Exception. We need a better error message that states that the directory being queried is empty.
> git.commit.id=3a73f098
> {code}
> 0: jdbc:drill:schema=dfs.tmp> select * from `nested_dirs/data/parquet`;
> Error: VALIDATION ERROR: Index: 0, Size: 0
> [Error Id: 18b21dac-199d-4e5f-8a28-7c91723e1b63 on centos-04.qa.lab:31010] (state=,code=0)
> The below command does not return any results, which is expected since there are no files in the directory, it is empty.
> [root@centos-01 ~]# hadoop fs -ls /tmp/nested_dirs/data/parquet
> [root@centos-01 ~]#
> Stack trace from drillbit.log
> org.apache.drill.common.exceptions.UserException: VALIDATION ERROR: Index: 0, Size: 0
> [Error Id: 18b21dac-199d-4e5f-8a28-7c91723e1b63 ]
>         at org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:534) ~[drill-common-1.3.0.jar:1.3.0]
>         at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:187) [drill-java-exec-1.3.0.jar:1.3.0]
>         at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:905) [drill-java-exec-1.3.0.jar:1.3.0]
>         at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:244) [drill-java-exec-1.3.0.jar:1.3.0]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [na:1.7.0_85]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [na:1.7.0_85]
>         at java.lang.Thread.run(Thread.java:745) [na:1.7.0_85]
> Caused by: org.apache.calcite.tools.ValidationException: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
>         at org.apache.calcite.prepare.PlannerImpl.validate(PlannerImpl.java:179) ~[calcite-core-1.4.0-drill-r8.jar:1.4.0-drill-r8]
>         at org.apache.calcite.prepare.PlannerImpl.validateAndGetType(PlannerImpl.java:188) ~[calcite-core-1.4.0-drill-r8.jar:1.4.0-drill-r8]
>         at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode(DefaultSqlHandler.java:447) ~[drill-java-exec-1.3.0.jar:1.3.0]
>         at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert(DefaultSqlHandler.java:190) ~[drill-java-exec-1.3.0.jar:1.3.0]
>  at org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:159) ~[drill-java-exec-1.3.0.jar:1.3.0]
>         at org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:184) [drill-java-exec-1.3.0.jar:1.3.0]
>         ... 5 common frames omitted
> Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
>         at java.util.ArrayList.rangeCheck(ArrayList.java:635) ~[na:1.7.0_85]
>         at java.util.ArrayList.get(ArrayList.java:411) ~[na:1.7.0_85]
>         at org.apache.drill.exec.store.dfs.FileSelection.getFirstPath(FileSelection.java:126) ~[drill-java-exec-1.3.0.jar:1.3.0]
>         at org.apache.drill.exec.store.dfs.BasicFormatMatcher.isReadable(BasicFormatMatcher.java:79) ~[drill-java-exec-1.3.0.jar:1.3.0]
>         at org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.create(WorkspaceSchemaFactory.java:340) ~[drill-java-exec-1.3.0.jar:1.3.0]
>         at org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.create(WorkspaceSchemaFactory.java:155) ~[drill-java-exec-1.3.0.jar:1.3.0]
>         at org.apache.drill.exec.planner.sql.ExpandingConcurrentMap.getNewEntry(ExpandingConcurrentMap.java:96) ~[drill-java-exec-1.3.0.jar:1.3.0]
>         at org.apache.drill.exec.planner.sql.ExpandingConcurrentMap.get(ExpandingConcurrentMap.java:90) ~[drill-java-exec-1.3.0.jar:1.3.0]
>         at org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.getTable(WorkspaceSchemaFactory.java:278) ~[drill-java-exec-1.3.0.jar:1.3.0
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)