Server exits with "storage writer lease was not renewed before its safety deadline" under light load
维护者通常 1 天内回复
评估
这个 Issue 还没有评估数据。
描述
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.
- 主要语言
- TypeScript
- 星标
- 392
- 派生
- 22
- 平均合并
- 17 小时 55 分钟
- 30 天内合并 PR
- 258
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
githubnext/chopin 的其他 Issue
-
documentation triage/human-response
难度 2/5 1-3 小时 新手友好度 74/100
githubnext/chopin#149 · 3 条评论 ·
维护者通常 1 天内回复
-
enhancement triage/human-response
难度 4/5 3-5 天 新手友好度 55/100
githubnext/chopin#203 · 2 条评论 ·
维护者通常 1 天内回复
-
enhancement triage/human-response
难度 5/5 一周以上 新手友好度 35/100
githubnext/chopin#165 ·
维护者通常 1 天内回复
-
enhancement triage/human-response
难度 5/5 一周以上 新手友好度 35/100
githubnext/chopin#164 ·
维护者通常 1 天内回复
-
triage/human-response
难度 5/5 一周以上 新手友好度 38/100
githubnext/chopin#163 ·
维护者通常 1 天内回复
查看 githubnext/chopin 的全部 Issue
相似的 Issue
-
status: needs-triage
难度 2/5 1-3 小时 新手友好度 83/100
a2ui-project/a2ui#3158 ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
hemilabs/ui-monorepo#2475 ·
维护者通常 1 天内回复
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
难度 1/5 1 小时以内 新手友好度 82/100
lingdojo/kana-dojo#32279 · 1 条评论 · 5 个 reaction ·
维护者通常 1 天内回复
-
code-quality refactoring
难度 2/5 1-3 小时 新手友好度 77/100
github/gh-aw-firewall#9879 ·
维护者通常 1 天内回复
-
[Bug]: Arrow-key cursor movement in combined diff view doesn't scroll to keep the cursor visible未关闭os:macos
难度 2/5 1-3 小时 新手友好度 64/100
维护者通常 1 天内回复