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)

Reply via email to