Server exits with "storage writer lease was not renewed before its safety deadline" under light load
Los mantenedores suelen responder en 1 día
Evaluación
Este issue todavía no se ha evaluado.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 392
- Forks
- 22
- Merge medio
- 16 h 56 min
- PR fusionados (30 d)
- 298
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de githubnext/chopin
-
documentation triage/human-response
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
githubnext/chopin#149 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Connector: make the local agent a durable, installable machine (`chopin` CLI, persisted pairing, service, reconnect)Posiblemente ocupada @lavaman131 la tomó hoy. Abierto
githubnext/chopin#523 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
enhancement triage/human-response
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
githubnext/chopin#203 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
[Design] Style Mermaid diagramsAbiertoenhancement triage/human-response
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
githubnext/chopin#165 ·
Los mantenedores suelen responder en 1 día
-
enhancement triage/human-response
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
githubnext/chopin#164 ·
Los mantenedores suelen responder en 1 día
Todos los issues de githubnext/chopin
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
microsoft/playwright#43327 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
microsoft/TypeScript#64758 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
opensearch-project/OpenSearch-Dashboards#12937 ·
Los mantenedores suelen responder en 2 días
-
Liveness marks block-included attesters live in the block's epoch instead of the attestation's epochAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
status: needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
a2ui-project/a2ui#3158 ·
Los mantenedores suelen responder en 2 días