Skip to content

fix(supervisor): require a health pass for the process that is up - #40

Merged
quantizor merged 1 commit into
mainfrom
fix/wait-healthy-current-run
Oct 19, 2026
Merged

quantizor merged 1 commit into
mainfrom
fix/wait-healthy-current-run

Conversation

@quantizor

Copy link
Copy Markdown
Owner

directa wait --healthy could return as soon as a server's phase was running, including right after a restart, while that process was still refusing connections. The phase stays running through health checks that have started failing, and a passing check from the previous process was kept and treated as the new one's.

wait --healthy and ensure now wait until a health check has passed for the process that is up, and they keep waiting while the latest check is failing. Status for that process no longer shows the previous process's exit.

Verified with make test and scripts/smoke.sh. The new health tests also passed under scripts/test-narrow-pool.sh with the pool narrowed and no blocked threads.

wait --healthy and ensure treated a running phase as ready. That phase
stays running through health checks that are still failing, and a pass
recorded for the previous process was never cleared, so a restarted
server could be reported ready while its port still refused connections.

A healthy result now requires a passing check for the current process
and a latest check that passed. The previous process's exit stays off
the new run's status.
@quantizor
quantizor added this pull request to stack #42 October 19, 2026 03:04
@quantizor
quantizor merged commit 434b032 into main Oct 19, 2026
6 checks passed
@quantizor
quantizor deleted the fix/wait-healthy-current-run branch October 19, 2026 03:05
@github-actions github-actions Bot mentioned this pull request Oct 19, 2026
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.

1 participant