test(runtime-host): wait for queued successor before shutdown - #1754
test(runtime-host): wait for queued successor before shutdown#1754zhiiw wants to merge 2 commits into
Conversation
|
CI follow-up:
The discriminating result is the green 中文说明CI 跟进结果:
关键证据是 |
|
Thanks for adding this coverage — "wait for the queued successor before shutting down" is a scenario worth having a test for. I am closing this one. It is 1236 commits behind main, Once #3633 lands, this scenario would be worth re-adding against current main. I have noted the idea and will bring it back up then. |
Summary
Root cause
The test asserted the first root's terminal state and then terminated the Host while the queued successor could still be active. On a fast run the successor happened to finish first; on a slower Linux CI run shutdown raced the active root and failed with
Runtime Host shutdown did not cleanly close every resource.The test now observes the successor through the same public subscription surface used by clients and waits for its terminal fact. It does not relax Host shutdown behavior or add retries.
Validation
npm run build -w @maka/runtime-hostchild.kill('SIGTERM')emulation difference; this PR is intended to validate the original Linux CI failureThis PR intentionally does not address the unrelated Astryx UI/Knip failures currently present on
main.中文说明
改动
根因
旧测试只等待第一轮进入终态,随后在 queued successor 仍可能执行时终止 Host。运行较快时 successor 恰好先结束,运行较慢时 shutdown 会与活跃 root 竞争,Linux CI 因此报
Runtime Host shutdown did not cleanly close every resource。新测试不放宽 Host 的关闭契约,也不添加重试;它通过生产客户端使用的 subscription surface 证明 successor 已启动并到达终态。
验证
npm run build -w @maka/runtime-hostchild.kill('SIGTERM')模拟差异;本 PR 由 Linux CI 验证原始失败本 PR 不处理当前
main已存在的 Astryx UI/Knip 失败。