Server exits with "storage writer lease was not renewed before its safety deadline" under light load
I maintainer di solito rispondono entro 1 giorno
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
What happened
A self-hosted Chopin server (Postgres storage, HARNESS=remote, running in Docker with restart: unless-stopped) exited on its own and was restarted by Docker:
2026-10-12T00:45:06.381Z chopin: storage writer lease was not renewed before its safety deadline
2026-10-12T00:45:07.642Z chopin: postgres storage is up to date
2026-10-12T00:45:08.628Z chopin · http://0.0.0.0:8787 · … harness: remote … storage: postgres
docker inspect: StartedAt=2026-10-12T00:45:07.42Z, RestartCount=1, ExitCode=0, OOMKilled=false. No other error was logged before the exit.
Effects: every open WebSocket (rooms, /planner-link) closed with 1006 at the same moment. Attached Planner clients reconnected after the restart, but their in-flight turns failed, and attachments were released.
Context
- Server at
main518bd44 (Atomic 0.9.34), on a 16-vCPU VM. The database is an Azure PostgreSQL Flexible Server (zone-redundant HA) on the same VNet. - Load was light: one attached Planner client actively streaming a turn (about 700 KB queued on its socket at the time) and one browser.
- The message comes from the writer-lease watchdog in
apps/server/src/main.ts, which exits when a lease renewal hasn't completed before its safety deadline.
Questions / expected
- What can delay a lease renewal past its deadline under light load? For example, event-loop blocking while serializing large Planner-link frames, a slow or stalled Postgres round-trip, or a renewal request that hangs with no timeout.
- Expected: a transient renewal delay shouldn't take the whole server down when no other writer exists. Or, if exiting is the safe choice, it should log the renewal's last success time, how late it was, and the failing query or error, so the cause can be diagnosed.
- Lingua principale
- TypeScript
- Stelle
- 392
- Fork
- 22
- Merge medio
- 16h 56m
- PR unite (30g)
- 298
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di githubnext/chopin
-
documentation triage/human-response
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
githubnext/chopin#149 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Connector: make the local agent a durable, installable machine (`chopin` CLI, persisted pairing, service, reconnect)Forse già presa @lavaman131 l’ha presa oggi. Aperta
githubnext/chopin#523 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement triage/human-response
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
githubnext/chopin#203 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement triage/human-response
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
githubnext/chopin#165 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement triage/human-response
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
githubnext/chopin#164 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di githubnext/chopin
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
area:cowork area:desktop documentation enhancement platform:macos
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
anthropics/claude-code#101720 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
apache/rocketmq-dashboard#6610 ·
I maintainer di solito rispondono entro 3 giorni
-
Add: MS NOWApertacheck:passed streams:add
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Global update drops overrideAccess, so Local API updateGlobal fails filterOptions validation (3.90 regression)Forse già presa @PINYOPATTANAWASANPORN l’ha presa oggi. Apertaarea: core Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
payloadcms/payload#18674 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno