xndai commented on a change in pull request #1584: [CALCITE-3503] NPE at 
VolcanoPlanner#isValid when DEBUG is enabled
URL: https://github.com/apache/calcite/pull/1584#discussion_r347073714
 
 

 ##########
 File path: 
core/src/main/java/org/apache/calcite/plan/volcano/VolcanoPlanner.java
 ##########
 @@ -877,6 +877,10 @@ public RelSubset ensureRegistered(RelNode rel, RelNode 
equivRel) {
    * Checks internal consistency.
    */
   protected boolean isValid(Litmus litmus) {
+    if (this.getRoot() == null) {
+      return true;
 
 Review comment:
   All of the cases you mentioned are not related to the scenario where root is 
null, so they are irrelevant to this patch. 
   
   Regarding why we need a new instance, we want to make sure the validation 
does not incur any side effects, so a new instance of meta data query won't 
mess with the existing meta data cache. This was discussed before in the JIRA, 
   
   Regarding getMetadataQuerySupplier, please see CALCITE-3487.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to