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)

Reply via email to