zhijiang created FLINK-11776:
--------------------------------

             Summary: Refactor to simplify the process of 
scheduleOrUpdateConsumers
                 Key: FLINK-11776
                 URL: https://issues.apache.org/jira/browse/FLINK-11776
             Project: Flink
          Issue Type: Sub-task
          Components: Runtime / Coordination
            Reporter: zhijiang
            Assignee: zhijiang


Based on the work of 
[FLINK-11417|https://issues.apache.org/jira/browse/FLINK-11417], the process of 
{{Execution#scheduleOrUpdateConsumers}} do not need to consider the race 
condition with schedule process, so we can refactor to make it easy to handle.
 * The concurrent data structure for cacheing partial input channel descriptor 
can be replaced by common list.
 * If the consumer is in {{CREATED}} state, we only need to schedule it and the 
partition info would be known during deployment.
 * If the consumer is in {{SCHEDULED}} state, we need do nothing.
 * If the consumer is in {{RUNNING}} state, we can send partition info 
immediately.
 * If the consumer is in {{DEPLOYING}} state, we can cache the partition info 
in order to send them in batch after consumer switching to {{RUNNING}} state.
 * {{PartialInputChannelDeploymentDescriptor}} is not needed any more, we can 
cache partition info directly.

This refactoring is also a preparation work for future introducing 
{{ShuffleMaster}} in 
[FLINK-11391|https://issues.apache.org/jira/browse/FLINK-11391].



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to