Wenzhe Zhou created IMPALA-11073:
------------------------------------

             Summary: Planner state verification for replan
                 Key: IMPALA-11073
                 URL: https://issues.apache.org/jira/browse/IMPALA-11073
             Project: IMPALA
          Issue Type: Sub-task
          Components: Frontend
    Affects Versions: Impala 4.1.0
            Reporter: Wenzhe Zhou


In replan implementation, we make copies of the query tree (PlanNode) and 
planner context (PlannerContext) for each iteration since planner state in 
these objects are modified when making distributed plan in 
DistributedPlanner.createPlanFragments(). 
We want to verify that both copies of the singleNodePlan (PlanNode) and planner 
context (PlannerContext) are identical to original ones in each iteration, e.g. 
don't make use of a data member in one iteration that is modified in previous 
iterations.

Replan implementation added new copy constructors for classes in PlanNode and 
StatementBase class hierarchy. In such copy constructors, there are both deep 
and shadow copied data members with the goal to minimally making deep copies to 
produce correct plans. We have to provide functions PlanNode.compareEqual(), 
which use serialized a string version of PlanNode to compare copied 
singleNodePlan. Maybe we could extend getNodeExplainString() for each plan node 
class to produce the string version of PlanNode.
 





--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to