[
https://issues.apache.org/jira/browse/FLINK-20435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
godfrey he updated FLINK-20435:
-------------------------------
Description:
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, and we will use PlannerBase instead.
2. port the implementation of ExecNodes to Java
3. separate the implementation of {{FlinkPhysicalRel}} and {{ExecNode}}.
Currently, an execution node extends both from {{FlinkPhysicalRel}} 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 {{FlinkPhysicalRel}} and {{ExecNode}}.
Currently, the ExecEdge represents the input properties of an operator, the
properties include
1. required data distribute for an input (the input corresponds to the Input)
2. DamBehavior
This is an umbrella issue, we will create more related sub-tasks.
was:
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, and we will use PlannerBase instead.
2. port the implementation of ExecNodes to Java
3. separate the implementation of {{FlinkPhysicalRel}} and {{ExecNode}}.
Currently, an execution node extends both from {{FlinkPhysicalRel}} 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 {{FlinkPhysicalRel}} and {{ExecNode}}.
This is an umbrella issue, we will create more related sub-tasks.
> Refactor ExecNode and ExecEdge
> ------------------------------
>
> Key: FLINK-20435
> URL: https://issues.apache.org/jira/browse/FLINK-20435
> Project: Flink
> Issue Type: Improvement
> Components: Table SQL / Planner
> Reporter: godfrey he
> Assignee: godfrey he
> Priority: Major
>
> 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, and we will use PlannerBase instead.
> 2. port the implementation of ExecNodes to Java
> 3. separate the implementation of {{FlinkPhysicalRel}} and {{ExecNode}}.
> Currently, an execution node extends both from {{FlinkPhysicalRel}} 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 {{FlinkPhysicalRel}} and
> {{ExecNode}}.
> Currently, the ExecEdge represents the input properties of an operator, the
> properties include
> 1. required data distribute for an input (the input corresponds to the Input)
> 2. DamBehavior
> This is an umbrella issue, we will create more related sub-tasks.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)