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)