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

Volodymyr Vysotskyi updated DRILL-6649:
---------------------------------------
    Reviewer: Sorabh Hamirwasia

> Query with unnest of column from nested subquery fails
> ------------------------------------------------------
>
>                 Key: DRILL-6649
>                 URL: https://issues.apache.org/jira/browse/DRILL-6649
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: Volodymyr Vysotskyi
>            Assignee: Volodymyr Vysotskyi
>            Priority: Major
>              Labels: ready-to-commit
>             Fix For: 1.15.0
>
>
> This query:
> {code:sql}
> select t2.o from (select * from cp.`lateraljoin/nested-customer.json` limit 
> 1) t, unnest(t.orders) t2(o)
> {code}
> fails with error:
> {noformat}
> org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: AssertionError
> [Error Id: 6868e327-ab2c-44a2-ab0c-cf30f4a64349 on user515050-pc:31010]
>       at 
> org.apache.drill.common.exceptions.UserException$Builder.build(UserException.java:633)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.work.foreman.Foreman$ForemanResult.close(Foreman.java:761)
>  [classes/:na]
>       at 
> org.apache.drill.exec.work.foreman.QueryStateProcessor.checkCommonStates(QueryStateProcessor.java:325)
>  [classes/:na]
>       at 
> org.apache.drill.exec.work.foreman.QueryStateProcessor.planning(QueryStateProcessor.java:221)
>  [classes/:na]
>       at 
> org.apache.drill.exec.work.foreman.QueryStateProcessor.moveToState(QueryStateProcessor.java:83)
>  [classes/:na]
>       at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:293) 
> [classes/:na]
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  [na:1.8.0_181]
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  [na:1.8.0_181]
>       at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]
> Caused by: org.apache.drill.exec.work.foreman.ForemanException: Unexpected 
> exception during fragment initialization: null
>       at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:294) 
> [classes/:na]
>       ... 3 common frames omitted
> Caused by: java.lang.AssertionError: null
>       at 
> org.apache.calcite.sql.SqlUnnestOperator.inferReturnType(SqlUnnestOperator.java:80)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.calcite.sql.SqlOperator.validateOperands(SqlOperator.java:437) 
> ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.calcite.sql.validate.UnnestNamespace.validateImpl(UnnestNamespace.java:67)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:947)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:928)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:2975)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.drill.exec.planner.sql.SqlConverter$DrillValidator.validateFrom(SqlConverter.java:273)
>  ~[classes/:na]
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:2960)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.drill.exec.planner.sql.SqlConverter$DrillValidator.validateFrom(SqlConverter.java:273)
>  ~[classes/:na]
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateJoin(SqlValidatorImpl.java:3012)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateFrom(SqlValidatorImpl.java:2969)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.drill.exec.planner.sql.SqlConverter$DrillValidator.validateFrom(SqlConverter.java:273)
>  ~[classes/:na]
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect(SqlValidatorImpl.java:3219)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.calcite.sql.validate.SelectNamespace.validateImpl(SelectNamespace.java:60)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.calcite.sql.validate.AbstractNamespace.validate(AbstractNamespace.java:84)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace(SqlValidatorImpl.java:947)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery(SqlValidatorImpl.java:928)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:226) 
> ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:903)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.validate(SqlValidatorImpl.java:613)
>  ~[calcite-core-1.16.0-drill-r6.jar:1.16.0-drill-r6]
>       at 
> org.apache.drill.exec.planner.sql.SqlConverter.validate(SqlConverter.java:191)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateNode(DefaultSqlHandler.java:648)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.validateAndConvert(DefaultSqlHandler.java:204)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:176)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:145)
>  ~[classes/:na]
>       at 
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:83)
>  ~[classes/:na]
>       at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:567) 
> [classes/:na]
>       at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:266) 
> [classes/:na]
>       ... 3 common frames omitted
> 20:23:14.516 [main] ERROR org.apache.drill.TestReporter - Test Failed (d: 0 
> B(1 B), h: -148.1 MiB(49.6 MiB), nh: 3.5 MiB(62.6 MiB)): 
> testMultipleBatchesLateral_WithStreamingAggNoGroup(org.apache.drill.exec.physical.impl.lateraljoin.TestE2EUnnestAndLateral)
> org.apache.drill.exec.rpc.RpcException: 
> org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR: 
> AssertionError
> {noformat}
> The problem is in Calcite: (CALCITE-2422)



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

Reply via email to