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

Jacques Nadeau updated DRILL-1467:
----------------------------------
    Fix Version/s: Future
         Priority: Minor  (was: Major)

> 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
>            Priority: Minor
>             Fix For: Future
>
>
> 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}
> ps: Removing HepPlanner from DefaultSqlHandler#convertToRel fixes the issue.



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

Reply via email to