[
https://issues.apache.org/jira/browse/DRILL-1905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14263337#comment-14263337
]
Jinfeng Ni commented on DRILL-1905:
-----------------------------------
Yes, you are right. The outside code will set the nullability of output type
correctly.
+1.
> UNION ALL of two identical json files fails with exception
> ----------------------------------------------------------
>
> Key: DRILL-1905
> URL: https://issues.apache.org/jira/browse/DRILL-1905
> Project: Apache Drill
> Issue Type: Bug
> Components: Query Planning & Optimization
> Affects Versions: 0.7.0
> Reporter: Victoria Markman
> Assignee: Aman Sinha
> Fix For: 0.8.0
>
> Attachments:
> 0001-Create-result-type-for-ANY-in-leastRestrictiveSqlTyp.patch,
> 0001-DRILL-1905-There-are-3-parts-of-the-fix-1-Check-comp.patch
>
>
> {code} git.commit.id.abbrev=e3ab2c1 {code}
> {code}
> 0: jdbc:drill:schema=dfs> select * from `logs/2014/02/t.json`;
> +------------+------------+------------+
> | a1 | b1 | c1 |
> +------------+------------+------------+
> | 0 | 0 | true |
> | 0 | 0 | false |
> | 0 | 0 | false |
> | 1 | 1 | true |
> | 1 | 1 | true |
> +------------+------------+------------+
> 5 rows selected (0.099 seconds)
> 0: jdbc:drill:schema=dfs> select * from `logs/2014/03/t.json`;
> +------------+------------+------------+
> | a1 | b1 | c1 |
> +------------+------------+------------+
> | 0 | 0 | true |
> | 0 | 0 | false |
> | 0 | 0 | false |
> | 1 | 1 | true |
> | 1 | 1 | true |
> +------------+------------+------------+
> 5 rows selected (0.065 seconds)
> 0: jdbc:drill:schema=dfs> select * from `logs/2014/02/t.json` union all
> select * from `logs/2014/03/t.json`;
> Query failed: Query failed: Unexpected exception during fragment
> initialization: DrillUnionRel#1680
> Error: exception while executing query: Failure while executing query.
> (state=,code=0)
> 2014-12-20 01:27:01,939 [2b6b2f9a-7e4e-1670-5210-c2a8dabea33b:foreman] ERROR
> o.a.drill.exec.work.foreman.Foreman - Error
> 4505ba6b-a2b6-4355-aac1-1edd74bc347d: Query failed: Unexpected exception
> during fragment initialization: DrillUnionRel#1680
> org.apache.drill.exec.work.foreman.ForemanException: Unexpected exception
> during fragment initialization: DrillUnionRel#1680
> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:194)
> [drill-java-exec-0.7.0-r2-SNAPSHOT-rebuffed.jar:0.7.0-r2-SNAPSHOT]
> at
> org.apache.drill.exec.work.WorkManager$RunnableWrapper.run(WorkManager.java:254)
> [drill-java-exec-0.7.0-r2-SNAPSHOT-rebuffed.jar:0.7.0-r2-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.AssertionError: DrillUnionRel#1680
> at
> org.eigenbase.rel.AbstractRelNode.getRowType(AbstractRelNode.java:211)
> ~[optiq-core-0.9-drill-r12.jar:na]
> at
> org.apache.drill.exec.planner.common.DrillUnionRelBase.isCompatible(DrillUnionRelBase.java:44)
> ~[drill-java-exec-0.7.0-r2-SNAPSHOT-rebuffed.jar:0.7.0-r2-SNAPSHOT]
> at
> org.apache.drill.exec.planner.common.DrillUnionRelBase.<init>(DrillUnionRelBase.java:38)
> ~[drill-java-exec-0.7.0-r2-SNAPSHOT-rebuffed.jar:0.7.0-r2-SNAPSHOT]
> at
> org.apache.drill.exec.planner.logical.DrillUnionRel.<init>(DrillUnionRel.java:42)
> ~[drill-java-exec-0.7.0-r2-SNAPSHOT-rebuffed.jar:0.7.0-r2-SNAPSHOT]
> at
> org.apache.drill.exec.planner.logical.DrillUnionRel.copy(DrillUnionRel.java:49)
> ~[drill-java-exec-0.7.0-r2-SNAPSHOT-rebuffed.jar:0.7.0-r2-SNAPSHOT]
> at
> org.apache.drill.exec.planner.logical.DrillUnionRel.copy(DrillUnionRel.java:38)
> ~[drill-java-exec-0.7.0-r2-SNAPSHOT-rebuffed.jar:0.7.0-r2-SNAPSHOT]
> at org.eigenbase.rel.SetOpRel.copy(SetOpRel.java:73)
> ~[optiq-core-0.9-drill-r12.jar:na]
> at org.eigenbase.rel.SetOpRel.copy(SetOpRel.java:33)
> ~[optiq-core-0.9-drill-r12.jar:na]
> at
> org.eigenbase.relopt.volcano.RelSubset$CheapestPlanReplacer.visit(RelSubset.java:472)
> ~[optiq-core-0.9-drill-r12.jar:na]
> at
> org.eigenbase.relopt.volcano.RelSubset.buildCheapestPlan(RelSubset.java:287)
> ~[optiq-core-0.9-drill-r12.jar:na]
> at
> org.eigenbase.relopt.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:677)
> ~[optiq-core-0.9-drill-r12.jar:na]
> at
> net.hydromatic.optiq.tools.Programs$RuleSetProgram.run(Programs.java:165)
> ~[optiq-core-0.9-drill-r12.jar:na]
> at
> net.hydromatic.optiq.prepare.PlannerImpl.transform(PlannerImpl.java:276)
> ~[optiq-core-0.9-drill-r12.jar:na]
> at
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToDrel(DefaultSqlHandler.java:155)
> ~[drill-java-exec-0.7.0-r2-SNAPSHOT-rebuffed.jar:0.7.0-r2-SNAPSHOT]
> at
> org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:134)
> ~[drill-java-exec-0.7.0-r2-SNAPSHOT-rebuffed.jar:0.7.0-r2-SNAPSHOT]
> at
> org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:145)
> ~[drill-java-exec-0.7.0-r2-SNAPSHOT-rebuffed.jar:0.7.0-r2-SNAPSHOT]
> at
> org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:507)
> [drill-java-exec-0.7.0-r2-SNAPSHOT-rebuffed.jar:0.7.0-r2-SNAPSHOT]
> at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:185)
> [drill-java-exec-0.7.0-r2-SNAPSHOT-rebuffed.jar:0.7.0-r2-SNAPSHOT]
> ... 4 common frames omitted
> {code}
> It looks like it fails in optiq ... maybe.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)