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)