Relationships
#3298 swamp-uat: the SIGTERM drain test does not check that the run succeeded
Opened by hammz · 10/12/2026
The swamp-uat worker test 'finishes in-flight step before exiting on SIGTERM' discards the run result (the run promise is never awaited) and asserts only on worker events.
That gap let a regression through during the work on swamp-club#3156: a worker stopped by SIGTERM with a step in flight reported success locally and exited 0, but the orchestrator failed the run with 'disconnected after step had written data (write-then-drop)', because the worker closed and exited before its last dispatch response was delivered. The UAT worker suite passed 102/102 on the broken binary.
What the test should do:
- Await the run and assert it succeeds, with the step's data present.
- Run the worker with telemetry disabled (--no-telemetry). The loss only shows when the worker process exits quickly after the drain; with telemetry on, the slower exit hides it.
- Cover --concurrency 2 as well.
The in-process integration test in the swamp repo cannot catch this, because no process exits. The fix in swamp is on branch triage-issue-3156 (the worker now confirms with the orchestrator before closing).
Open
No activity in this phase yet.
Sign in to post a ripple.