This would be a broad change. Hep Planner does enumerate different join orders through "LoptOptimizeJoinRule".
Volcano planner is not used as it has scalability issues. Thanks John From: Raajay <[email protected]<mailto:[email protected]>> Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Date: Tuesday, October 6, 2015 at 2:06 PM To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Subject: VolcanoPlanner vs HepPlanner Hello - While surfing the code in "apply" function of CalcitePlannerAction (CalcitePlanner.java), I see that most rules are passed to a HepPlanner to arrive at the "least cost" operator tree. The HiveVolcanoPlanner although defined and initialized is never invoked to find the best operator tree. I want to change the planner from Hep to Volcano, for the following reason: to obtain a collection of costlier join orders. Passing the rules for the Hep Planner as is to HiveVolcano planner does not help. The query plan is never altered. Any ideas, what rules need to be passed to the HiveVolcanoPlanner for effective CBO ? Thanks, Raajay
