Abhishek Girish created DRILL-3974:
--------------------------------------

             Summary: Querying an empty workspace fails with IOBE
                 Key: DRILL-3974
                 URL: https://issues.apache.org/jira/browse/DRILL-3974
             Project: Apache Drill
          Issue Type: Bug
          Components: Query Planning & Optimization
    Affects Versions: 1.2.0
            Reporter: Abhishek Girish


Querying an empty workspace (or directory) fails with IOBE.

{code:sql}
> select * from dfs.`/tmp1` ;
Error: VALIDATION ERROR: Index: 0, Size: 0
[Error Id: eab04781-1fed-48b3-89e4-fd91a46c6409 on abhi2:31010] (state=,code=0)

> select * from dfs.tmp1;
Error: VALIDATION ERROR: Index: 0, Size: 0
[Error Id: 3627b8c7-391a-4312-ac77-a0bb7143d9f2 on abhi2:31010] (state=,code=0)
{code}

Log:
{code}
2015-10-24 14:02:27,574 [29d40e1b-e987-3018-a25f-c547f91a685a:foreman] INFO  
o.a.d.e.planner.sql.DrillSqlWorker - User Error Occurred
org.apache.drill.common.exceptions.UserException: VALIDATION ERROR: Index: 0, 
Size: 0

[Error Id: 3627b8c7-391a-4312-ac77-a0bb7143d9f2 ]
        at 
org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:534)
 ~[drill-common-1.2.1.jar:1.2.1]
        at 
org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:181)
 [drill-java-exec-1.2.1.jar:1.2.1]
        at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:905) 
[drill-java-exec-1.2.1.jar:1.2.1]
        at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:244) 
[drill-java-exec-1.2.1.jar:1.2.1]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_65]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_65]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
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-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.prepare.PlannerImpl.validateAndGetType(PlannerImpl.java:188) 
~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode(DefaultSqlHandler.java:447)
 ~[drill-java-exec-1.2.1.jar:1.2.1]
        at 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert(DefaultSqlHandler.java:190)
 ~[drill-java-exec-1.2.1.jar:1.2.1]
        at 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:159)
 ~[drill-java-exec-1.2.1.jar:1.2.1]
        at 
org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:178)
 [drill-java-exec-1.2.1.jar:1.2.1]
        ... 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_65]
        at java.util.ArrayList.get(ArrayList.java:411) ~[na:1.7.0_65]
        at 
org.apache.drill.exec.store.dfs.FileSelection.getFirstPath(FileSelection.java:112)
 ~[drill-java-exec-1.2.1.jar:1.2.1]
        at 
org.apache.drill.exec.store.maprdb.MapRDBFormatMatcher.isReadable(MapRDBFormatMatcher.java:45)
 ~[drill-storage-maprdb-1.2.1.jar:1.2.1]
        at 
org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.create(WorkspaceSchemaFactory.java:338)
 ~[drill-java-exec-1.2.1.jar:1.2.1]
        at 
org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.create(WorkspaceSchemaFactory.java:153)
 ~[drill-java-exec-1.2.1.jar:1.2.1]
        at 
org.apache.drill.exec.planner.sql.ExpandingConcurrentMap.getNewEntry(ExpandingConcurrentMap.java:96)
 ~[drill-java-exec-1.2.1.jar:1.2.1]
        at 
org.apache.drill.exec.planner.sql.ExpandingConcurrentMap.get(ExpandingConcurrentMap.java:90)
 ~[drill-java-exec-1.2.1.jar:1.2.1]
        at 
org.apache.drill.exec.store.dfs.WorkspaceSchemaFactory$WorkspaceSchema.getTable(WorkspaceSchemaFactory.java:276)
 ~[drill-java-exec-1.2.1.jar:1.2.1]
        at 
org.apache.drill.exec.store.dfs.FileSystemSchemaFactory$FileSystemSchema.getTable(FileSystemSchemaFactory.java:119)
 ~[drill-java-exec-1.2.1.jar:1.2.1]
        at 
org.apache.calcite.jdbc.SimpleCalciteSchema.getTable(SimpleCalciteSchema.java:83)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.prepare.CalciteCatalogReader.getTableFrom(CalciteCatalogReader.java:116)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.prepare.CalciteCatalogReader.getTable(CalciteCatalogReader.java:99)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.prepare.CalciteCatalogReader.getTable(CalciteCatalogReader.java:70)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.EmptyScope.getTableNamespace(EmptyScope.java:75)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.DelegatingScope.getTableNamespace(DelegatingScope.java:124)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.IdentifierNamespace.validateImpl(IdentifierNamespace.java:104)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:86)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:877)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:863)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:2777)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:2762)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:2985)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:86)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:877)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:863)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:210) 
~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:837)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:551)
 ~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        at 
org.apache.calcite.prepare.PlannerImpl.validate(PlannerImpl.java:177) 
~[calcite-core-1.4.0-drill-r6.jar:1.4.0-drill-r6]
        ... 10 common frames omitted
{code}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to