[
https://issues.apache.org/jira/browse/CALCITE-3676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Forward Xu reassigned CALCITE-3676:
-----------------------------------
Assignee: Forward Xu
> VolcanoPlanner. dumpGraphviz should handle exception gracefully
> ---------------------------------------------------------------
>
> Key: CALCITE-3676
> URL: https://issues.apache.org/jira/browse/CALCITE-3676
> Project: Calcite
> Issue Type: Bug
> Components: core
> Reporter: Haisheng Yuan
> Assignee: Forward Xu
> Priority: Major
>
> In case VolcanoPlanner can't generate plan due to some RelSubset doesn't have
> best rel, it will dump the sets and Graphviz. Since there is error during
> planning, we want to see the sets in the exception message, but when dumping
> Graphviz, it might encounter another exception (we can't guarantee all the
> sets and subsets are correctly generated for Graphviz), causing failure to
> dump Sets info, which is rather helpful in production system.
> {code:java}
> Caused by: java.lang.AssertionError
> at
> org.apache.calcite.util.PartiallyOrderedSet.findParentsChildren(PartiallyOrderedSet.java:318)
> at
> org.apache.calcite.util.PartiallyOrderedSet.findParents(PartiallyOrderedSet.java:308)
> at
> org.apache.calcite.util.PartiallyOrderedSet.add(PartiallyOrderedSet.java:226)
> at
> org.apache.calcite.plan.volcano.VolcanoPlanner.dumpGraphviz(VolcanoPlanner.java:1320)
> at
> org.apache.calcite.plan.volcano.VolcanoPlanner.dump(VolcanoPlanner.java:1194)
> at
> org.apache.calcite.plan.volcano.RelSubset$CheapestPlanReplacer.visit(RelSubset.java:606)
> at
> org.apache.calcite.plan.volcano.RelSubset.buildCheapestPlan(RelSubset.java:307)
> at
> org.apache.calcite.plan.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:649)
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)