[
https://issues.apache.org/jira/browse/FLINK-16069?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17354373#comment-17354373
]
Till Rohrmann commented on FLINK-16069:
---------------------------------------
This is a good finding [~zhuzh]. I like the ideas. Another idea could be to
introduce a dedicated {{serializationExecutor}} which is used for the
{{submitTask}} call and which has a limited number of threads. That way we
isolate the CPU-intensive parts a bit.
Are the {{shuffleDescriptors}} {{Execution}} specific? If yes, then we will
have a lot of IO operations for writing the blobs when deploying the
{{Executions}}. This might lead to other problems if we write the files from
the main thread.
> Creation of TaskDeploymentDescriptor can block main thread for long time
> ------------------------------------------------------------------------
>
> Key: FLINK-16069
> URL: https://issues.apache.org/jira/browse/FLINK-16069
> Project: Flink
> Issue Type: Improvement
> Components: Runtime / Coordination
> Reporter: huweihua
> Priority: Major
> Attachments: FLINK-16069-POC-results
>
>
> The deploy of tasks will take long time when we submit a high parallelism
> job. And Execution#deploy run in mainThread, so it will block JobMaster
> process other akka messages, such as Heartbeat. The creation of
> TaskDeploymentDescriptor take most of time. We can put the creation in future.
> For example, A job [source(8000)->sink(8000)], the total 16000 tasks from
> SCHEDULED to DEPLOYING took more than 1mins. This caused the heartbeat of
> TaskManager timeout and job never success.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)