The GitHub Actions job "Required Checks" on texera.git/main has failed.
Run started by GitHub user github-merge-queue[bot] (triggered by 
github-merge-queue[bot]).

Head commit for run:
ef0507033ea3557feee239512fb15773452a4d83 / Matthew B. <[email protected]>
fix(amber): bound region termination retry instead of looping forever (#5737)

### What changes were proposed in this PR?
- `RegionExecutionCoordinator.terminateWorkersWithRetry` retried worker
termination with no limit, so a worker that never finished draining (its
`EndWorker` kept failing) left the region's termination future
unresolved and the workflow never reached COMPLETED, surfacing as an
opaque ~1 minute timeout in `DataProcessingSpec` with no indication of
the stuck region or workers.
- Bounded the retry by a new `maxTerminationAttempts` budget (default
150, about 30s at the existing 200ms delay); on exhaustion the
termination future fails with a descriptive error naming the region and
the still-unterminated workers, instead of retrying indefinitely.
- Made `maxTerminationAttempts` and `killRetryDelay` constructor
parameters with production defaults so the behavior is unit-testable
without long waits.
- Scope note: this is a fail-fast/diagnosability change (it converts a
silent hang into a fast, explicit failure, matching the pattern in
#4683), not a guaranteed elimination of the underlying termination
flake.
### Any related issues, documentation, discussions?
Closes: #5614
### How was this PR tested?
- Run `sbt "WorkflowExecutionService/testOnly
*RegionExecutionCoordinatorSpec"` (under JDK 17); expect 3 tests
succeeded, 0 failed.
- New test `give up with a descriptive error once the EndWorker retry
budget is exhausted`: forces `EndWorker` to always fail, then asserts
the completion future fails with `IllegalStateException` containing
"could not be terminated after 3 attempts", the coordinator is not
marked completed, exactly 3 `EndWorker` calls were made, and the worker
actor ref is retained.
- Existing tests in the same spec (gracefulStop ordering,
transient-failure retry-then-succeed) still pass, confirming the normal
and transient paths are unchanged.
### Was this PR authored or co-authored using generative AI tooling?
Co-authored with Claude Opus 4.8 in compliance with ASF

Report URL: https://github.com/apache/texera/actions/runs/28272054817

With regards,
GitHub Actions via GitBox

Reply via email to