Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Apache Calcite's tracing functionality plays an important role when we debug issues related to either logical planning or physical planning in Drill.
However, since Drill-705 introduced a HepPlanner to do query planning for Window Function, the tracing functionality is broken.
For instance, if I turn on Calcite tracing and set the tracing level to "FINER", as following:
org.apache.calcite.plan.RelOptPlanner.level = FINER
When submit a query to Drill, Drill hit AssertionError.
SYSTEM ERROR: java.lang.AssertionError: Internal error: should never get here [Error Id: 3410c3b4-726f-487b-a1c4-287b6ae724aa on 172.16.0.120:31010]
The root cause of this Assertion is here :
Caused by: java.lang.AssertionError: Internal error: should never get here at org.apache.calcite.util.Util.newInternal(Util.java:775) ~[calcite-core-1.1.0-drill-r7.jar:1.1.0-drill-r7] at org.apache.calcite.plan.hep.HepRelVertex.computeSelfCost(HepRelVertex.java:68) ~[calcite-core-1.1.0-drill-r7.jar:1.1.0-drill-r7] at org.apache.calcite.rel.metadata.RelMdPercentageOriginalRows.getNonCumulativeCost(RelMdPercentageOriginalRows.java:165) ~[calcite-core-1.1.0-drill-r7.jar:1.1.0-drill-r7]