Hanifi Gunes created DRILL-1467:
-----------------------------------

             Summary: HepPlanner causes optiq to throw exception with trace is 
turned on
                 Key: DRILL-1467
                 URL: https://issues.apache.org/jira/browse/DRILL-1467
             Project: Apache Drill
          Issue Type: Bug
          Components: Query Planning & Optimization
            Reporter: Hanifi Gunes
            Assignee: Chun Chang


1) Follow https://github.com/julianhyde/optiq/blob/retired/HOWTO.md to turn the 
trace on.

2) Running any query throws:

{code}
java.lang.AssertionError: Internal error: should never get here
        at org.eigenbase.util.Util.newInternal(Util.java:735) 
~[optiq-core-0.9-drill-r2.jar:na]
        at 
org.eigenbase.relopt.hep.HepRelVertex.computeSelfCost(HepRelVertex.java:63) 
~[optiq-core-0.9-drill-r2.jar:na]
        at 
org.eigenbase.rel.metadata.RelMdPercentageOriginalRows.getNonCumulativeCost(RelMdPercentageOriginalRows.java:159)
 ~[optiq-core-0.9-drill-r2.jar:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[na:1.7.0_65]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
~[na:1.7.0_65]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.7.0_65]
        at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_65]
        at 
org.eigenbase.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:135)
 ~[optiq-core-0.9-drill-r2.jar:na]
        at com.sun.proxy.$Proxy75.getNonCumulativeCost(Unknown Source) ~[na:na]
        at 
org.eigenbase.rel.metadata.RelMetadataQuery.getNonCumulativeCost(RelMetadataQuery.java:125)
 ~[optiq-core-0.9-drill-r2.jar:na]
        at 
org.eigenbase.rel.metadata.RelMdPercentageOriginalRows.getCumulativeCost(RelMdPercentageOriginalRows.java:149)
 ~[optiq-core-0.9-drill-r2.jar:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[na:1.7.0_65]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
~[na:1.7.0_65]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.7.0_65]
        at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_65]
        at 
org.eigenbase.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:135)
 ~[optiq-core-0.9-drill-r2.jar:na]
        at com.sun.proxy.$Proxy74.getCumulativeCost(Unknown Source) ~[na:na]
        at 
org.eigenbase.rel.metadata.RelMetadataQuery.getCumulativeCost(RelMetadataQuery.java:111)
 ~[optiq-core-0.9-drill-r2.jar:na]
        at 
org.eigenbase.rel.metadata.RelMdPercentageOriginalRows.getCumulativeCost(RelMdPercentageOriginalRows.java:152)
 ~[optiq-core-0.9-drill-r2.jar:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[na:1.7.0_65]
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
~[na:1.7.0_65]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[na:1.7.0_65]
        at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_65]
        at 
org.eigenbase.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:135)
 ~[optiq-core-0.9-drill-r2.jar:na]
        at com.sun.proxy.$Proxy74.getCumulativeCost(Unknown Source) ~[na:na]
        at 
org.eigenbase.rel.metadata.RelMetadataQuery.getCumulativeCost(RelMetadataQuery.java:111)
 ~[optiq-core-0.9-drill-r2.jar:na]
        at 
org.eigenbase.relopt.AbstractRelOptPlanner.getCost(AbstractRelOptPlanner.java:229)
 ~[optiq-core-0.9-drill-r2.jar:na]
        at org.eigenbase.relopt.hep.HepPlanner.dumpGraph(HepPlanner.java:946) 
~[optiq-core-0.9-drill-r2.jar:na]
        at org.eigenbase.relopt.hep.HepPlanner.setRoot(HepPlanner.java:124) 
~[optiq-core-0.9-drill-r2.jar:na]
        at 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.convertToRel(DefaultSqlHandler.java:148)
 ~[classes/:na]
        at 
org.apache.drill.exec.planner.sql.handlers.DefaultSqlHandler.getPlan(DefaultSqlHandler.java:124)
 ~[classes/:na]
        at 
org.apache.drill.exec.planner.sql.DrillSqlWorker.getPlan(DrillSqlWorker.java:132)
 ~[classes/:na]
        at org.apache.drill.exec.work.foreman.Foreman.runSQL(Foreman.java:425) 
[classes/:na]
        at org.apache.drill.exec.work.foreman.Foreman.run(Foreman.java:219) 
[classes/:na]
        at 
org.apache.drill.exec.work.WorkManager$RunnableWrapper.run(WorkManager.java:250)
 [classes/:na]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_65]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_65]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_65]
{code}

{panel:title=log.properties}
handlers= java.util.logging.ConsoleHandler
.level= INFO
org.eigenbase.relopt.RelOptPlanner.level=FINER
java.util.logging.ConsoleHandler.level=ALL
{panel}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to