Skip to content

Decouple listRunners-outage backstop window from the zombie-reap interval#44

Merged
NickReisenauer merged 1 commit into
mainfrom
fix/decouple-outage-backstop-window
Jun 17, 2026
Merged

Decouple listRunners-outage backstop window from the zombie-reap interval#44
NickReisenauer merged 1 commit into
mainfrom
fix/decouple-outage-backstop-window

Conversation

@NickReisenauer

Copy link
Copy Markdown
Contributor

Addresses the two Copilot comments on #43 (both valid):

  1. Coupling (Orchestrator.swift): the runner-API outage backstop reused neverConfirmedReapInterval as its "sustained outage" threshold, so tuning/disabling the zombie reaper would silently change (or disable) the backstop window — which could re-enable the runaway scale-up that caused the original pileup. The backstop now has its own listRunnersOutageHoldInterval (default 120s), independent of the reaper.
  2. Undocumented disable semantics: documented that a negative neverConfirmedReapInterval disables the reaper, and that a very small value (e.g. 0) reaps a runner before it can come online (test-only) — the production default leaves a real connect window.

No behavior change at the defaults (both 120s). OrchestratorTests 37 passing; build clean. Folds into the v0.1.3 release (the in-flight v0.1.3 build was cancelled and the tag will be re-cut from main after this merges — nothing was published).

…rval

PR #43 review (Copilot): the runner-API outage backstop reused
neverConfirmedReapInterval as its "sustained" threshold, coupling two
independent behaviors — tuning or disabling the zombie reaper would silently
widen or disable the outage backstop and could re-enable the runaway scale-up
during a prolonged outage. Give the backstop its own
listRunnersOutageHoldInterval (default 120s).

Also document neverConfirmedReapInterval's value semantics: a negative value
disables the reaper; a very small value (e.g. 0) reaps a runner before it can
come online (test-only) — the production default leaves a real connect window.

OrchestratorTests 37 passing; build clean.
@NickReisenauer NickReisenauer merged commit 3a8542b into main Jun 17, 2026
@NickReisenauer NickReisenauer deleted the fix/decouple-outage-backstop-window branch June 17, 2026 02:30
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