Server exits with "storage writer lease was not renewed before its safety deadline" under light load
Mantenedores costumam responder em até 1 dia
Avaliação
Esta issue ainda não foi avaliada.
Descrição
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.
- Linguagem predominante
- TypeScript
- Estrelas
- 406
- Forks
- 24
- Merge médio
- 12h 42min
- PRs com merge (30d)
- 416
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de githubnext/chopin
-
documentation triage/human-response
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
githubnext/chopin#149 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 3/5 Meio dia Facilidade para iniciantes 45/100
githubnext/chopin#597 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 30/100
githubnext/chopin#596 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 12/100
githubnext/chopin#595 ·
Mantenedores costumam responder em até 1 dia
-
enhancement triage/human-response
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
githubnext/chopin#203 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de githubnext/chopin
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
agilepathway/label-checker#739 · 4 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 68/100
CopilotKit/OpenBot#800 ·
Mantenedores costumam responder em até 1 dia
-
Endpoint links in the tag operations list are below the 24px target sizeTalvez já em andamento @AdzerKI assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 79/100
ehmpathy/rhachet-roles-bhuild#471 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 73/100
Mantenedores costumam responder em até 1 dia