Skip to content

test(guestd): widen TestBrokenExecStreamReapsChild reap ceiling to 30s - #732

Merged
mattwilkinsonn merged 1 commit into
mainfrom
compass-runner/rig-2980-flaky-reap-ceiling
Aug 30, 2026
Merged

test(guestd): widen TestBrokenExecStreamReapsChild reap ceiling to 30s#732
mattwilkinsonn merged 1 commit into
mainfrom
compass-runner/rig-2980-flaky-reap-ceiling

Conversation

@rigel-mintaka

Copy link
Copy Markdown
Contributor

The reap-wait loop gave the ExecStream cancel→SIGKILL→reap path only 10s
of wall-clock to remove the exec_id from the table. That races HTTP/2
RST_STREAM propagation over the loopback h2c transport plus goroutine
scheduling: the reap fires only once the receive-loop observes the client
cancel as a stream error. On a saturated CI runner (deploy+e2e+microvm+
pgtest+4 moon legs concurrent) that delivery exceeded 10s and the test
false-failed with 'child still present after stream break' (moon (go) leg,
PR #720 CI, test wall 15.01s).

The reap logic is correct and always completes; only the test ceiling was
too tight. Widen to 30s — a genuine never-reap hang still fails at the
ceiling, while extreme load no longer trips a false positive. Local
reproduction of the original: 80/80 PASS (10x plain, 30x -race, 25x
GOMAXPROCS=1, 15x under full 32-core saturation). Test-only, no production
delta. Flaky test = real bug, no retries.

Refs RIG-2980

Co-authored-by: Matt Wilkinson matt@rigel.build

@linear-code

linear-code Bot commented Aug 30, 2026

Copy link
Copy Markdown

RIG-2980

@github-actions

github-actions Bot commented Aug 30, 2026

Copy link
Copy Markdown

Compass engineering docs preview: https://compass-runner-rig-2980-flak.compass-eng-docs.pages.dev

Deployed from compass-runner/rig-2980-flaky-reap-ceiling at 5b30327.

The reap-wait loop gave the ExecStream cancel→SIGKILL→reap path only 10s
of wall-clock to remove the exec_id from the table. That races HTTP/2
RST_STREAM propagation over the loopback h2c transport plus goroutine
scheduling: the reap fires only once the receive-loop observes the client
cancel as a stream error. On a saturated CI runner (deploy+e2e+microvm+
pgtest+4 moon legs concurrent) that delivery exceeded 10s and the test
false-failed with 'child still present after stream break' (moon (go) leg,
PR #720 CI, test wall 15.01s).

The reap logic is correct and always completes; only the test ceiling was
too tight. Widen to 30s — a genuine never-reap hang still fails at the
ceiling, while extreme load no longer trips a false positive. Local
reproduction of the original: 80/80 PASS (10x plain, 30x -race, 25x
GOMAXPROCS=1, 15x under full 32-core saturation). Test-only, no production
delta. Flaky test = real bug, no retries.

Refs RIG-2980

Co-authored-by: Matt Wilkinson <matt@rigel.build>
@rigel-mintaka
rigel-mintaka force-pushed the compass-runner/rig-2980-flaky-reap-ceiling branch from c2bca26 to 5b30327 Compare August 30, 2026 04:47
@mattwilkinsonn
mattwilkinsonn merged commit a754aa8 into main Aug 30, 2026
13 checks passed
@mattwilkinsonn
mattwilkinsonn deleted the compass-runner/rig-2980-flaky-reap-ceiling branch August 30, 2026 17:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants