Fabian Hueske created CALCITE-1997:
--------------------------------------
Summary: VolcanoPlanner.validate() causes NPE due to root == null
on DEBUG log level
Key: CALCITE-1997
URL: https://issues.apache.org/jira/browse/CALCITE-1997
Project: Calcite
Issue Type: Bug
Components: core
Affects Versions: 1.13.0
Reporter: Fabian Hueske
Assignee: Julian Hyde
When optimizing a {{RelNode}} as follows
{code}
VolcanoPlanner planner = ...
RelNode input = ...
Program optProgram = Programs.ofRules(...);
optProgram.run(planner, input, targetTraits, ImmutableList.of(),
ImmutableList.of());
{code}
we get a {{NullPointerException}} with the following stack trace if the log
level is set to {{DEBUG}}:
{code}
java.lang.NullPointerException
at
org.apache.calcite.plan.volcano.VolcanoPlanner.validate(VolcanoPlanner.java:891)
at
org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:866)
at
org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
at
org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:101)
at
org.apache.calcite.rel.AbstractRelNode.onRegister(AbstractRelNode.java:336)
at
org.apache.calcite.plan.volcano.VolcanoPlanner.registerImpl(VolcanoPlanner.java:1496)
at
org.apache.calcite.plan.volcano.VolcanoPlanner.register(VolcanoPlanner.java:863)
at
org.apache.calcite.plan.volcano.VolcanoPlanner.ensureRegistered(VolcanoPlanner.java:883)
at
org.apache.calcite.plan.volcano.VolcanoPlanner.changeTraits(VolcanoPlanner.java:548)
at
org.apache.calcite.tools.Programs$RuleSetProgram.run(Programs.java:365)
{code}
The {{VolcanoPlanner.validate()}} method is only called from
{{VolcanoPlanner.register()}} if {{DEBUG}} log level is enabled.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)