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

Aman Sinha updated DRILL-1905:
------------------------------
    Attachment: 0001-Create-result-type-for-ANY-in-leastRestrictiveSqlTyp.patch
                0001-DRILL-1905-There-are-3-parts-of-the-fix-1-Check-comp.patch

Uploaded the drill and drill-calcite patches.  [~jni] could you pls review ? 
There are 3 parts of the fix: 
 1. Check compatibility during initial creation, not during copy() of Union 
rels,
 2. Added implementations of isDistinct() and getFamily() in Drill specific 
     derived classes,
 3. In Calcite, add processing of ANY type in leastRestrictiveSqlType().

> 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)

Reply via email to