Server exits with "storage writer lease was not renewed before its safety deadline" under light load
Les mainteneurs répondent en général sous 1 jour
Évaluation
Cette issue n'a pas encore été évaluée.
Description
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.
- Langage dominant
- TypeScript
- Étoiles
- 406
- Forks
- 24
- Merge moyen
- 13 h 56 min
- PR mergées (30 j)
- 371
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de githubnext/chopin
-
documentation triage/human-response
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
githubnext/chopin#149 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 3/5 Une demi-journée Accessibilité débutants 45/100
githubnext/chopin#597 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 4/5 3-5 jours Accessibilité débutants 30/100
githubnext/chopin#596 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 12/100
githubnext/chopin#595 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement triage/human-response
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
githubnext/chopin#203 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de githubnext/chopin
Issues similaires
-
test: make the #3408 Claude OAuth token fixture obviously fake so secret scanners stop flagging itOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
code-yeongyu/senpi#3436 ·
Les mainteneurs répondent en général sous 1 jour
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulté 1/5 Moins d'une heure Accessibilité débutants 78/100
lingdojo/kana-dojo#32505 · 1 commentaire · 5 réactions ·
Les mainteneurs répondent en général sous 1 jour
-
code-quality refactoring
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
github/gh-aw-firewall#10040 ·
Les mainteneurs répondent en général sous 1 jour
-
review-followup
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
griffinwork40/agent-afk#3868 ·
Les mainteneurs répondent en général sous 1 jour
-
area: import-export bug status: needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
amatya-aditya/obsidian-rss-dashboard#1191 ·
Les mainteneurs répondent en général sous 1 jour