[jira] [Created] (FLINK-20435) Refactor ExecNode

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-20435) Refactor ExecNode

Shang Yuanchun (Jira)
godfrey he created FLINK-20435:
----------------------------------

             Summary: Refactor ExecNode
                 Key: FLINK-20435
                 URL: https://issues.apache.org/jira/browse/FLINK-20435
             Project: Flink
          Issue Type: Improvement
            Reporter: godfrey he


Currently, there are many improvements about ExecNode:
1. simplify type parameter of {{ExecNode}}. Currently, {{ExecNode#translateToPlan}} takes {{BatchPlanner}} or {{StreamPlanner}} as a parameter, so {{ExecNode}} has a type parameter {{E <: Planner}}, which indicates the node is a batch node or a streaming node. While in the future, a plan may contain both batch nodes and stream node. The type parameter can be removed, the implementation base class can cast the planner to expected planner.
2. port ExecNode to Java
3. separate the implementation of {{RelNode}} and {{ExecNode}}. Currently, an execution node extends both from {{RelNode}} and {{ExecNode}}. After a physical node is converted to an exec node, many parameters are unnecessary, such as: RelOptCluster, RelTraitSet, etc. With more optimizations on {{ExecNode}}, We need {{ExecNode}} to be cleaner and simpler. So we will separate the implementation of {{RelNode}} and {{ExecNode}}.

This is an umbrella issue, we will create more related sub-tasks.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)