The GitHub Actions job "Required Checks" on texera.git/endworker-ack-race has succeeded. Run started by GitHub user aglinxinyuan (triggered by aglinxinyuan).
Head commit for run: dc535e1b1f622fb09f73384b96c677232e57f40b / Xinyuan Lin <[email protected]> fix(amber): tolerate in-flight RPC acks when EndWorker terminates a worker Loop e2e tests failed intermittently (~1 in 10 runs): region termination raced with the coordinator's ReturnInvocation acks for the worker's own fire-and-forget RPCs (workerExecutionCompleted / portCompleted). The very RPC that makes the coordinator decide to end the worker is the one whose ack is still in flight, so the race is inherent -- but the worker never awaits those acks, so an ack-only backlog carries no work. Loops amplify the race because every iteration terminates and re-executes regions, and the suite's single retry does not save runs where it strikes twice (same fail-fast as #5614's DataProcessingSpec flake). Scala EndHandler: succeed with a warning when everything queued is a ReturnInvocation; keep the fail-fast for anything else (control invocations, data, ECMs, actor commands) so the region execution manager's retry lets the worker drain real work. Python EndWorkerHandler: mirror the same semantics, and fix two latent defects -- the old handler consumed one message as a side effect of logging it (silently swallowing real work on the failure path) and its bare assert crashed on a two-ack backlog. Non-ack messages are now put back on the queue before failing. Tests: EndHandlerSpec gains ack-only (succeeds) and ack+work (still fails) cases; new test_end_worker_handler.py pins the same two behaviors plus that real work survives a failed EndWorker. Report URL: https://github.com/apache/texera/actions/runs/30150398290 With regards, GitHub Actions via GitBox
