xndai opened a new pull request #1403: [CALCITE-3283] RelSubSet's best is not existed in the set URL: https://github.com/apache/calcite/pull/1403 In VolcanoPlanner.rename(), the given relnode will be removed when we find there's an equivalent rel after rename. But if the node to be removed happens to be the best relnode of its subset, the RelSubSet.best will not able to get updated under two scenarios - 1. If equivalent rel is in the same set as the original rel, currently we do nothing. So RelSubSet.best is not updated and points to a node that's removed after rename. 2. If we end up merging two sub set and equivalent rel cost is same as original rel cost, we won't update RelSubSet.best either. Fix the issue by udpdating the RelSubSet.best if best is the RelNode that's supposed to be removed. Also add a new Calcite property TEST_VALIDATE_VOLCANO_PLANNER for turnning on validation during volcano planner rule firing. JIRA - https://issues.apache.org/jira/browse/CALCITE-3283
---------------------------------------------------------------- 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
