Volodymyr Vysotskyi created DRILL-7072:
------------------------------------------

             Summary: Query with semi join fails for JDBC storage plugin
                 Key: DRILL-7072
                 URL: https://issues.apache.org/jira/browse/DRILL-7072
             Project: Apache Drill
          Issue Type: Bug
          Components: Storage - JDBC
    Affects Versions: 1.15.0
            Reporter: Volodymyr Vysotskyi
            Assignee: Volodymyr Vysotskyi
             Fix For: 1.16.0


When running a query with semi join for JDBC storage plugin, it fails with 
class cast exception:
{code:sql}
select person_id from mysql.`drill_mysql_test`.person t1
where exists (
select person_id from mysql.`drill_mysql_test`.person
where t1.person_id = person_id)
{code}
{noformat}
SYSTEM ERROR: ClassCastException: 
org.apache.calcite.adapter.jdbc.JdbcRules$JdbcAggregate cannot be cast to 
org.apache.drill.exec.planner.logical.DrillAggregateRel


Please, refer to logs for more information.

[Error Id: 85a27762-a4e5-4571-909f-0efa18ca0689 on user515050-pc:31013]
org.apache.drill.common.exceptions.UserException: SYSTEM ERROR: 
ClassCastException: org.apache.calcite.adapter.jdbc.JdbcRules$JdbcAggregate 
cannot be cast to org.apache.drill.exec.planner.logical.DrillAggregateRel


Please, refer to logs for more information.

[Error Id: 85a27762-a4e5-4571-909f-0efa18ca0689 on user515050-pc:31013]
        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:779)
 [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:299) 
[classes/:na]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
[na:1.8.0_191]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
[na:1.8.0_191]
        at java.lang.Thread.run(Thread.java:748) [na:1.8.0_191]
Caused by: org.apache.drill.exec.work.foreman.ForemanException: Unexpected 
exception during fragment initialization: 
org.apache.calcite.adapter.jdbc.JdbcRules$JdbcAggregate cannot be cast to 
org.apache.drill.exec.planner.logical.DrillAggregateRel
        at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:300) 
[classes/:na]
        ... 3 common frames omitted
Caused by: java.lang.ClassCastException: 
org.apache.calcite.adapter.jdbc.JdbcRules$JdbcAggregate cannot be cast to 
org.apache.drill.exec.planner.logical.DrillAggregateRel
        at 
org.apache.drill.exec.planner.logical.DrillSemiJoinRule.matches(DrillSemiJoinRule.java:171)
 ~[classes/:na]
        at 
org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:557) 
~[calcite-core-1.18.0-drill-r0.jar:1.18.0-drill-r0]
        at 
org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:420) 
~[calcite-core-1.18.0-drill-r0.jar:1.18.0-drill-r0]
        at 
org.apache.calcite.plan.hep.HepPlanner.executeInstruction(HepPlanner.java:257) 
~[calcite-core-1.18.0-drill-r0.jar:1.18.0-drill-r0]
        at 
org.apache.calcite.plan.hep.HepInstruction$RuleInstance.execute(HepInstruction.java:127)
 ~[calcite-core-1.18.0-drill-r0.jar:1.18.0-drill-r0]
        at 
org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:216) 
~[calcite-core-1.18.0-drill-r0.jar:1.18.0-drill-r0]
        at 
org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:203) 
~[calcite-core-1.18.0-drill-r0.jar:1.18.0-drill-r0]
        at 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.transform(DefaultSqlHandler.java:431)
 ~[classes/:na]
        at 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.transform(DefaultSqlHandler.java:382)
 ~[classes/:na]
        at 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.transform(DefaultSqlHandler.java:365)
 ~[classes/:na]
        at 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToRawDrel(DefaultSqlHandler.java:289)
 ~[classes/:na]
        at 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToDrel(DefaultSqlHandler.java:331)
 ~[classes/:na]
        at 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:178)
 ~[classes/:na]
        at 
org.apache.drill.exec.planner.sql.DrillSqlWorker.getQueryPlan(DrillSqlWorker.java:204)
 ~[classes/:na]
        at 
org.apache.drill.exec.planner.sql.DrillSqlWorker.convertPlan(DrillSqlWorker.java:123)
 ~[classes/:na]
        at 
org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:80)
 ~[classes/:na]
        at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:584) 
[classes/:na]
        at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:272) 
[classes/:na]
        ... 3 common frames omitted
{noformat}
Looks like it was caused by DRILL-6997.



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

Reply via email to