[
https://issues.apache.org/jira/browse/FLINK-11776?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Till Rohrmann resolved FLINK-11776.
-----------------------------------
Resolution: Fixed
Fix Version/s: 1.9.0
Fixed via 94c24723192e3a6e5a90eca579168724463f083c
> 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
> Priority: Minor
> Labels: pull-request-available
> Fix For: 1.9.0
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 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)