Skip to content

fix(provider): one warm instance that does not arrive no longer fails the pool; release .120 - #373

Merged
rldyourmnd merged 2 commits into
mainfrom
fix/one-warm-instance-does-not-fail-the-pool
Sep 2, 2026
Merged

fix(provider): one warm instance that does not arrive no longer fails the pool; release .120#373
rldyourmnd merged 2 commits into
mainfrom
fix/one-warm-instance-does-not-fail-the-pool

Conversation

@rldyourmnd

Copy link
Copy Markdown
Contributor

The warm reconciler treated two ordinary events as fatal:

  • an instance that never published its readiness evidence within the minute (did not publish readiness evidence: timed out)
  • an instance whose delete had begun, which answers a file read with Failed getting instance pool: Instance storage pool not found rather than 404

Either aborted the whole pool's reconcile, so the warm depth was not restored during exactly the bursts that consume it. Measured on 2026-09-02: eleven aborted reconciles between 09:35Z and 11:00Z, each also marking the services host unhealthy for a minute (visible only since #369 made the observer demand these units).

An instance that never becomes ready is deleted and recorded in the result as abandoned_during_create; the deficit refills next pass. An instance that vanished mid-read is skipped, the way one retired during create already was. A pool still fails on anything that is not one instance's own problem. stateOperationTimeout becomes a var so the test can shorten it.

Release v0.1.5-nddev.120 (two reproducible builds agree).

https://claude.ai/code/session_0128syXKxAGCfJGRDxUUNQXp

… the pool

The warm reconciler treated two ordinary events as fatal. An instance that
never published its readiness evidence within the minute returned a timeout,
and an instance whose delete had begun answered a file read with "Failed
getting instance pool: Instance storage pool not found" rather than 404.
Either aborted the whole pool's reconcile, so the depth was not restored
during exactly the bursts that consume it: on 2026-09-02 that happened
eleven times between 09:35Z and 11:00Z, each one also marking the services
host unhealthy for a minute.

An instance that never becomes ready is now deleted and recorded in the
result as abandoned; the deficit refills on the next pass. An instance that
vanished mid-read is skipped, the way one retired during create already
was. A pool still fails on anything that is not one instance's own problem.

Claude-Session: https://claude.ai/code/session_0128syXKxAGCfJGRDxUUNQXp
… instance

Source 3a77ae2, built twice with CGO_ENABLED=0 go build -trimpath
-buildvcs=false -ldflags "-buildid= -s -w -X main.version=v0.1.5-nddev.120
-X main.commit=<source>"; both builds agree on 3c07b99b8d11f1bcded6208147540522aaa37302bf2203da78937bdbd2c70368.

Claude-Session: https://claude.ai/code/session_0128syXKxAGCfJGRDxUUNQXp
@rldyourmnd
rldyourmnd enabled auto-merge September 2, 2026 12:06
@rldyourmnd
rldyourmnd merged commit 274cc1c into main Sep 2, 2026
10 checks passed
@rldyourmnd
rldyourmnd deleted the fix/one-warm-instance-does-not-fail-the-pool branch September 2, 2026 12:08
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