You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Martijn Visser (Jira)" <ji...@apache.org> on 2026/10/21 08:19:00 UTC
[jira] [Created] (FLINK-41059) FineGrainedSlotManager schedules requirement checks into the main thread after suspend()
Martijn Visser created FLINK-41059:
--------------------------------------
Summary: FineGrainedSlotManager schedules requirement checks into the main thread after suspend()
Key: FLINK-41059
URL: https://issues.apache.org/jira/browse/FLINK-41059
Project: Flink
Issue Type: Technical Debt
Components: Runtime / Coordination
Affects Versions: 2.4.0
Reporter: Martijn Visser
Assignee: Martijn Visser
When {{suspend()}} is called, the one-shot check that {{FineGrainedSlotManager#checkResourceRequirementsWithDelay}} scheduled on the RPC service's scheduled executor is never cancelled and still calls {{mainThreadExecutor.execute}} when the delay fires. The check returns on {{!started}}, and in the ResourceManager the main thread executor is the RPC gateway, so a late check only ends as a dead letter. Chesnay described this in https://issues.apache.org/jira/browse/FLINK-34427?focusedCommentId=17816969&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17816969. The fork crash on that ticket has a different cause, the test harness shutting its executor down under a running check, and is fixed by https://github.com/apache/flink/pull/29533.
{{suspend()}} should cancel the pending check, complete or clear {{requirementsCheckFuture}} so that a later {{start()}} can schedule again, and not schedule into the main thread once the slot manager is no longer started.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)