[
https://issues.apache.org/jira/browse/FLINK-7015?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16072773#comment-16072773
]
ASF GitHub Bot commented on FLINK-7015:
---------------------------------------
Github user StephanEwen commented on the issue:
https://github.com/apache/flink/pull/4241
In general, it is a good idea to clean that up a bit. That code needed some
refactoring.
As @aljoscha pointed out, that is an intricate part, so we need to review
that carefully. To be able to review that, we need a good description of what
the refactoring did. Trying to understand that from the code alone will take a
lot of time and most likely slow down the merging of this by a lot.
I would suggest to write
- what exactly was addressed
- what is the new design
- does it change behavior, or is it only code abstraction internally
As another point: I just took a quick look at the `OperatorConfig`. I think
I would be nice to move away from the model of having a Map of "configKey" to
values, but just to make this a serializable class with the respective fields.
That would be simpler to understand and maintain.
> Separate OperatorConfig from StreamConfig
> -----------------------------------------
>
> Key: FLINK-7015
> URL: https://issues.apache.org/jira/browse/FLINK-7015
> Project: Flink
> Issue Type: Improvement
> Components: DataStream API
> Reporter: Xu Pingyong
> Assignee: Xu Pingyong
>
> Motivation:
> A Task contains one or more operators with chainning, however
> configs of operator and task are all put in StreamConfig. For example, when a
> opeator sets up with the StreamConfig, it can see the interface about
> physicalEdges or chained.task.configs that are confused. Similarly a
> streamTask should not see the interface aboule chain.index.
> So we need to separate OperatorConfig from StreamConfig. A
> streamTask builds execution enviroment with the streamConfig, and extract
> operatorConfigs from it, then build streamOperators with every
> operatorConfig.
>
> OperatorConfig: for the streamOperator to setup with, it constains
> informations that only belong to the streamOperator. It contains:
> 1) operator information: name, id
> 2) Serialized StreamOperator
> 3) input serializer.
> 4) output edges and serializers.
> 5) chain.index
> 6) state.key.serializer
> StreamConfig: for the streamTask to use:
> 1) in.physical.edges
> 2) out.physical.edges
> 3) chained OperatorConfigs
> 4) execution environment: checkpoint, state.backend and so on...
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)