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

Reply via email to