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)