Martijn Visser created FLINK-41078:
--------------------------------------
Summary: FineGrainedSlotManager stops scheduling delayed checks
after one of them threw
Key: FLINK-41078
URL: https://issues.apache.org/jira/browse/FLINK-41078
Project: Flink
Issue Type: Bug
Components: Runtime / Coordination
Affects Versions: 2.3.0, 2.2.2, 1.20.6, 2.4.0
Reporter: Martijn Visser
Assignee: Martijn Visser
{{FineGrainedSlotManager#checkResourceRequirementsWithDelay}} and
{{#declareNeededResourcesWithDelay}} debounce on a {{CompletableFuture}} that
is completed after the delayed body ran, not in a finally. If
{{checkResourceRequirements()}} or {{declareNeededResources()}} throws, the
future stays incomplete, {{isDone()}} is false for the rest of the
ResourceManager's life, and no delayed check is ever scheduled again:
requirement changes, task manager registrations, slot reports and freed slots
stop triggering allocation, and in the active ResourceManager no resource
declaration reaches the driver any more. The exception itself is logged once by
the RPC actor and then everything is silent. Both delays default to 50 ms, so
production runs on this path. The fix is to complete the future in a finally;
the handling of the exception itself is FLINK-34589.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)