You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Subhajit Ghosh (JIRA)" <ji...@apache.org> on 2015/04/19 18:09:58 UTC

[jira] [Created] (DRILL-2828) Nested WHERE clause error on a HBase view

Subhajit Ghosh created DRILL-2828:
-------------------------------------

             Summary: Nested WHERE clause error on a HBase view
                 Key: DRILL-2828
                 URL: https://issues.apache.org/jira/browse/DRILL-2828
             Project: Apache Drill
          Issue Type: Bug
          Components: Execution - RPC, Query Planning & Optimization
    Affects Versions: 0.8.0
            Reporter: Subhajit Ghosh
            Assignee: Jacques Nadeau
            Priority: Blocker


A RexInputRef error when using a nested WHERE clause (with DOT notation) against a view. The following can be used to reproduce the error:

> create 'MyTable', 'main'
> put 'MyTable', 'id1', 'main:objectBytes', '{"foo":123,"prop":{"len":234}}'

In Drill:
> create or replace view MyTableView as select
convert_from(MyTable.main.objectBytes, 'JSON') json from hbase.MyTable;
> select v.json.prop.len as len from MyTableView v;
+------------+
|    len     |
+------------+
| 234        |
+------------+
> select v.json.prop.len as len from MyTableView v where v.json.prop.len >
2;

This produces the error:
Query failed: AssertionError: RexInputRef index 2 out of range 0..1

Detailed error below. Please let me know if you need more information.

2015-04-13 12:58:31,444 [2ad45097-c878-962c-b3be-288928a4bc79:foreman] INFO
 o.a.d.e.s.hbase.TableStatsCalculator - Region size calculation disabled.
2015-04-13 12:58:31,600 [2ad45097-c878-962c-b3be-288928a4bc79:foreman] INFO
 o.a.drill.exec.work.foreman.Foreman - State change requested.  PENDING -->
FAILED
org.apache.drill.exec.work.foreman.ForemanException: Unexpected exception
during fragment initialization: null
at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:213)
[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
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]
Caused by: java.lang.reflect.UndeclaredThrowableException: null
at com.sun.proxy.$Proxy63.getRowCount(Unknown Source) ~[na:na]
at
org.eigenbase.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:96)
~[optiq-core-0.9-drill-r20.jar:na]
at org.eigenbase.rel.SingleRel.getRows(SingleRel.java:65)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.apache.drill.exec.planner.physical.visitor.ExcessiveExchangeIdentifier$MajorFragmentStat.add(ExcessiveExchangeIdentifier.java:99)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.visitor.ExcessiveExchangeIdentifier.visitPrel(ExcessiveExchangeIdentifier.java:74)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.visitor.ExcessiveExchangeIdentifier.visitPrel(ExcessiveExchangeIdentifier.java:31)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.visitor.BasePrelVisitor.visitProject(BasePrelVisitor.java:48)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.ProjectPrel.accept(ProjectPrel.java:69)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.visitor.ExcessiveExchangeIdentifier.visitScreen(ExcessiveExchangeIdentifier.java:61)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.visitor.ExcessiveExchangeIdentifier.visitScreen(ExcessiveExchangeIdentifier.java:31)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.ScreenPrel.accept(ScreenPrel.java:64)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.visitor.ExcessiveExchangeIdentifier.removeExcessiveEchanges(ExcessiveExchangeIdentifier.java:42)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToPrel(DefaultSqlHandler.java:290)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:140)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:145)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:773)
[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:204)
[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
... 3 common frames omitted
Caused by: java.lang.reflect.InvocationTargetException: null
at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source) ~[na:na]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.7.0_71]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_71]
at
org.eigenbase.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:135)
~[optiq-core-0.9-drill-r20.jar:na]
... 20 common frames omitted
Caused by: java.lang.reflect.UndeclaredThrowableException: null
at com.sun.proxy.$Proxy65.getSelectivity(Unknown Source) ~[na:na]
at
org.eigenbase.rel.metadata.RelMetadataQuery.getSelectivity(RelMetadataQuery.java:218)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:54)
~[optiq-core-0.9-drill-r20.jar:na]
... 24 common frames omitted
Caused by: java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:1.7.0_71]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
~[na:1.7.0_71]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.7.0_71]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_71]
at
org.eigenbase.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:135)
~[optiq-core-0.9-drill-r20.jar:na]
... 27 common frames omitted
Caused by: java.lang.reflect.UndeclaredThrowableException: null
at com.sun.proxy.$Proxy65.getSelectivity(Unknown Source) ~[na:na]
at
org.eigenbase.rel.metadata.RelMetadataQuery.getSelectivity(RelMetadataQuery.java:218)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.rel.metadata.RelMdSelectivity.getSelectivity(RelMdSelectivity.java:168)
~[optiq-core-0.9-drill-r20.jar:na]
... 32 common frames omitted
Caused by: java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:1.7.0_71]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
~[na:1.7.0_71]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.7.0_71]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_71]
at
org.eigenbase.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:135)
~[optiq-core-0.9-drill-r20.jar:na]
... 35 common frames omitted
Caused by: java.lang.AssertionError: RexInputRef index 2 out of range 0..1
at
org.eigenbase.rex.RexProgramBuilder$RegisterInputShuttle.visitInputRef(RexProgramBuilder.java:891)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.rex.RexProgramBuilder$RegisterInputShuttle.visitInputRef(RexProgramBuilder.java:878)
~[optiq-core-0.9-drill-r20.jar:na]
at org.eigenbase.rex.RexInputRef.accept(RexInputRef.java:103)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.rex.RexProgramBuilder.registerInput(RexProgramBuilder.java:271)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.rex.RexProgramBuilder.addProject(RexProgramBuilder.java:184)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.rex.RexProgramBuilder.addIdentity(RexProgramBuilder.java:801)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.relopt.RelOptUtil.pushFilterPastProject(RelOptUtil.java:2178)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.rel.metadata.RelMdSelectivity.getSelectivity(RelMdSelectivity.java:166)
~[optiq-core-0.9-drill-r20.jar:na]
... 40 common frames omitted
2015-04-13 12:58:31,609 [2ad45097-c878-962c-b3be-288928a4bc79:foreman] INFO
 o.a.drill.exec.work.foreman.Foreman - foreman cleaning up - status: []
2015-04-13 12:58:31,612 [2ad45097-c878-962c-b3be-288928a4bc79:foreman]
ERROR o.a.drill.exec.work.foreman.Foreman - Error
aeed96ec-2c1f-4778-bc02-635787d717ae: AssertionError: RexInputRef index 2
out of range 0..1
org.apache.drill.exec.work.foreman.ForemanException: Unexpected exception
during fragment initialization: null
at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:213)
[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
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]
Caused by: java.lang.reflect.UndeclaredThrowableException: null
at com.sun.proxy.$Proxy63.getRowCount(Unknown Source) ~[na:na]
at
org.eigenbase.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:96)
~[optiq-core-0.9-drill-r20.jar:na]
at org.eigenbase.rel.SingleRel.getRows(SingleRel.java:65)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.apache.drill.exec.planner.physical.visitor.ExcessiveExchangeIdentifier$MajorFragmentStat.add(ExcessiveExchangeIdentifier.java:99)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.visitor.ExcessiveExchangeIdentifier.visitPrel(ExcessiveExchangeIdentifier.java:74)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.visitor.ExcessiveExchangeIdentifier.visitPrel(ExcessiveExchangeIdentifier.java:31)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.visitor.BasePrelVisitor.visitProject(BasePrelVisitor.java:48)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.ProjectPrel.accept(ProjectPrel.java:69)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.visitor.ExcessiveExchangeIdentifier.visitScreen(ExcessiveExchangeIdentifier.java:61)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.visitor.ExcessiveExchangeIdentifier.visitScreen(ExcessiveExchangeIdentifier.java:31)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.ScreenPrel.accept(ScreenPrel.java:64)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.physical.visitor.ExcessiveExchangeIdentifier.removeExcessiveEchanges(ExcessiveExchangeIdentifier.java:42)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToPrel(DefaultSqlHandler.java:290)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:140)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at
org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:145)
~[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:773)
[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:204)
[drill-java-exec-0.8.0-rebuffed.jar:0.8.0]
... 3 common frames omitted
Caused by: java.lang.reflect.InvocationTargetException: null
at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source) ~[na:na]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.7.0_71]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_71]
at
org.eigenbase.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:135)
~[optiq-core-0.9-drill-r20.jar:na]
... 20 common frames omitted
Caused by: java.lang.reflect.UndeclaredThrowableException: null
at com.sun.proxy.$Proxy65.getSelectivity(Unknown Source) ~[na:na]
at
org.eigenbase.rel.metadata.RelMetadataQuery.getSelectivity(RelMetadataQuery.java:218)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:54)
~[optiq-core-0.9-drill-r20.jar:na]
... 24 common frames omitted
Caused by: java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:1.7.0_71]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
~[na:1.7.0_71]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.7.0_71]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_71]
at
org.eigenbase.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:135)
~[optiq-core-0.9-drill-r20.jar:na]
... 27 common frames omitted
Caused by: java.lang.reflect.UndeclaredThrowableException: null
at com.sun.proxy.$Proxy65.getSelectivity(Unknown Source) ~[na:na]
at
org.eigenbase.rel.metadata.RelMetadataQuery.getSelectivity(RelMetadataQuery.java:218)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.rel.metadata.RelMdSelectivity.getSelectivity(RelMdSelectivity.java:168)
~[optiq-core-0.9-drill-r20.jar:na]
... 32 common frames omitted
Caused by: java.lang.reflect.InvocationTargetException: null
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:1.7.0_71]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
~[na:1.7.0_71]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.7.0_71]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_71]
at
org.eigenbase.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:135)
~[optiq-core-0.9-drill-r20.jar:na]
... 35 common frames omitted
Caused by: java.lang.AssertionError: RexInputRef index 2 out of range 0..1
at
org.eigenbase.rex.RexProgramBuilder$RegisterInputShuttle.visitInputRef(RexProgramBuilder.java:891)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.rex.RexProgramBuilder$RegisterInputShuttle.visitInputRef(RexProgramBuilder.java:878)
~[optiq-core-0.9-drill-r20.jar:na]
at org.eigenbase.rex.RexInputRef.accept(RexInputRef.java:103)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.rex.RexProgramBuilder.registerInput(RexProgramBuilder.java:271)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.rex.RexProgramBuilder.addProject(RexProgramBuilder.java:184)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.rex.RexProgramBuilder.addIdentity(RexProgramBuilder.java:801)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.relopt.RelOptUtil.pushFilterPastProject(RelOptUtil.java:2178)
~[optiq-core-0.9-drill-r20.jar:na]
at
org.eigenbase.rel.metadata.RelMdSelectivity.getSelectivity(RelMdSelectivity.java:166)
~[optiq-core-0.9-drill-r20.jar:na]
... 40 common frames omitted





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