[
https://issues.apache.org/jira/browse/DRILL-2094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rahul Challapalli reopened DRILL-2094:
--------------------------------------
The below query is still failing :
{code}
select s.id from (select id from `non-flatten1.json` order by list[0]) s;
{code}
Below is the error from the logs :
{code}
org.apache.drill.exec.work.foreman.ForemanException: Unexpected exception
during fragment initialization: -1
at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:210)
[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
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.ArrayIndexOutOfBoundsException: -1
at org.eigenbase.rex.RexProgram.deduceCollations(RexProgram.java:564)
~[optiq-core-0.9-drill-r21.jar:na]
at org.eigenbase.rex.RexProgram.getCollations(RexProgram.java:533)
~[optiq-core-0.9-drill-r21.jar:na]
at org.eigenbase.rel.CalcRel.createProject(CalcRel.java:146)
~[optiq-core-0.9-drill-r21.jar:na]
at org.eigenbase.rel.CalcRel.createProject(CalcRel.java:88)
~[optiq-core-0.9-drill-r21.jar:na]
at
org.eigenbase.sql2rel.SqlToRelConverter.convertSelectList(SqlToRelConverter.java:3319)
~[optiq-core-0.9-drill-r21.jar:na]
at
org.eigenbase.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:519)
~[optiq-core-0.9-drill-r21.jar:na]
at
org.eigenbase.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:474)
~[optiq-core-0.9-drill-r21.jar:na]
at
org.eigenbase.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:2657)
~[optiq-core-0.9-drill-r21.jar:na]
at
org.eigenbase.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:432)
~[optiq-core-0.9-drill-r21.jar:na]
at
net.hydromatic.optiq.prepare.PlannerImpl.convert(PlannerImpl.java:190)
~[optiq-core-0.9-drill-r21.jar:na]
at
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToRel(DefaultSqlHandler.java:166)
~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:133)
~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at
org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:154)
~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:769)
[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:201)
[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
... 3 common frames omitted
2015-04-22 00:38:22,183 [2ac91281-0a46-1dfa-ad31-4a2b76a1a6f0:foreman] INFO
o.a.drill.exec.work.foreman.Foreman - foreman cleaning up.
2015-04-22 00:38:22,184 [2ac91281-0a46-1dfa-ad31-4a2b76a1a6f0:foreman] ERROR
o.a.d.c.e.DrillRuntimeException - SYSTEM ERROR: Unexpected exception during
fragment initialization: -1
[16a660b3-fcd4-4642-b6bf-dfb30c1570d8 on qa-node190.qa.lab:31010]
org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: Unexpected
exception during fragment initialization: -1
[16a660b3-fcd4-4642-b6bf-dfb30c1570d8 on qa-node190.qa.lab:31010]
at
org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:465)
~[drill-common-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at
org.apache.drill.exec.work.foreman.Foreman$ForemanResult.close(Foreman.java:616)
[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at
org.apache.drill.exec.work.foreman.Foreman$StateSwitch.processEvent(Foreman.java:713)
[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at
org.apache.drill.exec.work.foreman.Foreman$StateSwitch.processEvent(Foreman.java:655)
[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at
org.apache.drill.common.EventProcessor.sendEvent(EventProcessor.java:73)
[drill-common-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at
org.apache.drill.exec.work.foreman.Foreman$StateSwitch.moveToState(Foreman.java:657)
[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at
org.apache.drill.exec.work.foreman.Foreman.moveToState(Foreman.java:758)
[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:210)
[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
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: org.apache.drill.exec.work.foreman.ForemanException: Unexpected
exception during fragment initialization: -1
... 4 common frames omitted
Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
at org.eigenbase.rex.RexProgram.deduceCollations(RexProgram.java:564)
~[optiq-core-0.9-drill-r21.jar:na]
at org.eigenbase.rex.RexProgram.getCollations(RexProgram.java:533)
~[optiq-core-0.9-drill-r21.jar:na]
at org.eigenbase.rel.CalcRel.createProject(CalcRel.java:146)
~[optiq-core-0.9-drill-r21.jar:na]
at org.eigenbase.rel.CalcRel.createProject(CalcRel.java:88)
~[optiq-core-0.9-drill-r21.jar:na]
at
org.eigenbase.sql2rel.SqlToRelConverter.convertSelectList(SqlToRelConverter.java:3319)
~[optiq-core-0.9-drill-r21.jar:na]
at
org.eigenbase.sql2rel.SqlToRelConverter.convertSelectImpl(SqlToRelConverter.java:519)
~[optiq-core-0.9-drill-r21.jar:na]
at
org.eigenbase.sql2rel.SqlToRelConverter.convertSelect(SqlToRelConverter.java:474)
~[optiq-core-0.9-drill-r21.jar:na]
at
org.eigenbase.sql2rel.SqlToRelConverter.convertQueryRecursive(SqlToRelConverter.java:2657)
~[optiq-core-0.9-drill-r21.jar:na]
at
org.eigenbase.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:432)
~[optiq-core-0.9-drill-r21.jar:na]
at
net.hydromatic.optiq.prepare.PlannerImpl.convert(PlannerImpl.java:190)
~[optiq-core-0.9-drill-r21.jar:na]
at
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToRel(DefaultSqlHandler.java:166)
~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:133)
~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at
org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:154)
~[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:769)
[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:201)
[drill-java-exec-0.9.0-SNAPSHOT-rebuffed.jar:0.9.0-SNAPSHOT]
... 3 common frames omitted
{code}
> Drill has problems with reading json fields when used in a subquery
> -------------------------------------------------------------------
>
> Key: DRILL-2094
> URL: https://issues.apache.org/jira/browse/DRILL-2094
> Project: Apache Drill
> Issue Type: Bug
> Components: Query Planning & Optimization
> Reporter: Rahul Challapalli
> Assignee: Sean Hsuan-Yi Chu
> Fix For: 0.9.0
>
> Attachments: DRILL-2094.1.patch
>
>
> git.commit.id.abbrev=3e33880
> Data Set :
> {code}
> {
> "id" : 1,
> "list" : [1,2]
> }
> {code}
> The below query works
> {code}
> 0: jdbc:drill:schema=dfs.drillTestDir> select id from `temp1.json` order by
> list[0];
> +------------+
> | id |
> +------------+
> | 1 |
> +------------+
> 1 row selected (0.146 seconds)
> {code}
> However when I used the same exact query as part of a sub-query, I get an
> error from drill
> {code}
> 0: jdbc:drill:schema=dfs.drillTestDir> select s.id from (select id from
> `temp1.json` order by list[0]) s;
> Query failed: SqlValidatorException: Table 'list' not found
> Error: exception while executing query: Failure while executing query.
> (state=,code=0)
> {code}
> Explain plan also does not work and it returns the same problem
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)