You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Wenzhe Zhou (Jira)" <ji...@apache.org> on 2022/01/11 21:41:00 UTC

[jira] [Commented] (IMPALA-11073) Planner state verification for replan

    [ https://issues.apache.org/jira/browse/IMPALA-11073?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17473182#comment-17473182 ] 

Wenzhe Zhou commented on IMPALA-11073:
--------------------------------------

One approach to implement PlanNode.compareEqual() is to use a serialized string version of PlanNode to compare two singleNodePlan tree. We could extend getNodeExplainString() for each plan node class to produce the string version of PlanNode with new detail level for additional member variables.

> 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
>            Assignee: Wenzhe Zhou
>            Priority: Major
>
> In replan implementation v2, 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 has been 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)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org