Repository navigation
Use stable named msgd instances and private Root hierarchy - #222
Conversation
|
You have reached your Codex usage limits for security reviews. Please try again later. |
|
更新(合并 head 7a4c2e9 / main ce52136):此项已修复。已核对最终 stopping() 检查,并重跑原始函数的隔离 SIGTERM 用例,结果 execute=false、saved_after_stop=0。下面保留旧 head 9ad30a0 的复现记录;它不再是当前合并版本的阻塞项。此验证不代表整套 CI 已通过。 在当前 head 9ad30a0 核对到一个继承的关闭流程回归:此分支包含 #209 的 graceful shutdown 主体,但没有 e8a4986 在 EffectWorker._claim 中、pending → running 之前增加的最后一次 stopping() 检查。 我用当前分支的原始 _claim / tool_concurrency 函数做了隔离复现:在等待工具内容读取时发送真实 SIGTERM,等 stop 标志置位后恢复读取,结果仍是 stop_seen=true、claimed_state=running、execute=true、saved_after_stop=1。入口处的检查不能覆盖中途 await 的窗口,因此关停后仍会领取并开始新任务。 请把 #209 的最后一次停止检查及对应回归覆盖带入此分支,再验证 SIGTERM 后 execute=false 且没有新的 running 写入。已有修复验证记录:#209 (comment) 。这里只运行了隔离函数复现,没有触碰部署或真实任务。 |
|
补充两个在 head 9ad30a0 核对到的部署兼容性问题:
以上检查未修改真实实例的配置、权限或数据。 |
9ad30a0 to
7a4c2e9
Compare
The daemon currently defaults to one host installation and a separate top-level
msgd-rootdirectory. Add stable named installations:msgd --instance mainselects/etc/msgd/main,/var/lib/msgd/mainand OS-root-only/var/lib/private/msgd/main/root, independently of DNS. Named initialization requires an explicit origin and PostgreSQL DSN. Separate web/worker templates use separatemsgd-<instance>accounts; the preparation script rejects legacy/named mixtures and symlinks.Legacy installations and existing explicit custom Root locations remain readable; duplicate Root material fails closed. Packages create shared containers without resetting existing ownership/modes. No directory, identity, key or ledger migration runs during upgrade. Signed service bindings remain unchanged; DNS aliases currently need to redirect to the canonical origin.
Rebuilt on current
mainc57511c using only the two instance commits, preserving the current client domain namespace, origin validation, release version and money-fixture fix. Keeps main's required--service-url; no project-hostname fallback is reintroduced. The previous shard 3 failure was the old base's funded-account archive fixture; current main already drains that fixture.Validation: 54 targeted tests passed, covering server instances, client paths, configuration safety, Root storage and the public-money tests including the formerly failing archive case. Ruff check/format, shell syntax and diff checks passed. Full CI on the new head runs separately. No deployment, production path migration, Root/PIN or money action was performed.