[ 
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)

Reply via email to