[
https://issues.apache.org/jira/browse/FLINK-20435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Flink Jira Bot updated FLINK-20435:
-----------------------------------
Labels: stale-assigned (was: )
I am the [Flink Jira Bot|https://github.com/apache/flink-jira-bot/] and I help
the community manage its development. I see this issue is assigned but has not
received an update in 14, so it has been labeled "stale-assigned".
If you are still working on the issue, please remove the label and add a
comment updating the community on your progress. If this issue is waiting on
feedback, please consider this a reminder to the committer/reviewer. Flink is a
very active project, and so we appreciate your patience.
If you are no longer working on the issue, please unassign yourself so someone
else may work on it. If the "warning_label" label is not removed in 7 days, the
issue will be automatically unassigned.
> 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
> Labels: stale-assigned
>
> 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 properties for the input of an
> operator, the properties include
> 1. required data distribute for an input (the input corresponds to the
> [Input|https://github.com/apache/flink/blob/master/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/operators/Input.java])
> 2. DamBehavior which describes the behaviors how an in record may trigger the
> output of the target operator.
> 3. the priority of this input read by the target operator
> So ExecEdge should be rename to InputProperty, and we will re-introduce
> ExecEdge which describes how to connect two ExecNodes, and how to shuffle the
> data between two ExecNodes. Its role should be similar to StreamEdge.
> This is an umbrella issue, we will create more related sub-tasks.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)