b-shrey opened a new pull request, #29540:
URL: https://github.com/apache/flink/pull/29540
## What is the purpose of the change
`AdaptiveSchedulerTest#testStatusMetrics` hangs on CI in
`waitForSubmissions(1)` until the leg is killed after 900 seconds, on
release-2.3 (2026-09-28) and master (2026-10-09), with the FLINK-36299 fix from
2024 in place. The fork log shows the job failing right after it starts, with
`Failed to go from CreatingExecutionGraph to Executing because the
ExecutionGraph creation failed` and `NoResourceAvailableException: Not enough
resources available for scheduling`.
The test sets the submission resource wait timeout to 10 ms, then starts the
scheduler and offers the first slot as two separate tasks on the single main
thread. Starting the scheduler schedules the timeout on that thread. If the
test thread submits the slot offer more than 10 ms after the start task
finished, the timeout runs first and creates the ExecutionGraph with no slots,
the job reaches `FAILED`, and no task is ever submitted, so
`waitForSubmissions(1)` blocks forever.
This is a different cause from the 2024 fix, which made the slot pool use
the test's main thread executor.
## Brief change log
- Start the scheduler and offer the first slot in one `runInMainThread`
task, as `testExecutionGraphGenerationWithAvailableResources`,
`testResourceAcquisitionTriggersJobExecution`,
`testJobStatusListenerNotifiedOfJobStatusChanges` and
`testCheckpointsStartAfterTaskRunning` already do. The timeout is scheduled on
the same single thread, so it cannot run before the slot has been offered.
## Verifying this change
- With a 200 ms delay between the start and the slot offer, the old test
hangs in `waitForSubmissions(1)` every run (2 of 2), with the same
`NoResourceAvailableException` and `reached terminal state FAILED` log lines as
CI.
- With a 200 ms stall inside the new task, between `startScheduling()` and
`offerSlots()`, the new test passes (1 of 1).
- Without delays, the new test passes 300 of 300 repeated runs.
- `AdaptiveSchedulerTest` passes (68 tests).
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): **no**
- The public API, i.e., is any changed class annotated with
`@Public(Evolving)`: **no**
- The serializers: **no**
- The runtime per-record code paths (performance sensitive): **no**
- Anything that affects deployment or recovery: JobManager (and its
components), Checkpointing, Kubernetes/Yarn, ZooKeeper: **no**
- The S3 file system connector: **no**
## Documentation
- Does this pull request introduce a new feature? **no**
---
##### Was generative AI tooling used to co-author this PR?
- [X] Yes (please specify the tool below)
Generated-by: Claude Code (Claude Opus 5.5)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]