Qwen Code issue 追踪 held-Runtime 清理缺陷:进程重启会丢失排空义务
wenshao · ghdev · 2026-10-12
QwenLM/qwen-code 的 issue #13930 收纳自 PR #13889 深度评审的一个延后 Critical 与一批 Suggestion。
核心 Critical(R1-2):当一个 turn 结束时 Runtime 被持有(finish() 按设计吞掉 409 runtimesessionheld),所欠的 drain 义务只记录在进程本地的 heldRuntimeTurns 集合中。若 Harness 重启或 Session 被接管,重新加载的 Session 集合为空,DELETE /session/:id 将不排空任何内容并返回 204,而 worker 的运行仍在进行、:process 行仍非终态——Runtime 及其工作区挂载会在 Session 关闭后被静默钉住。
约束与方案:义务应在加载时恢复而非在加载时释放(急切释放会停掉活跃 Session 仍需要的运行)。已评估的设计选项包括:因记录体缺少 runtimeSessionId/promptId 关联,需在 closed-key 校验器上加 schema 字段;更干净的路径是提供只读 broker 查询,列出 harness session 的活跃 hold-row runtime Session id(hold 行已同时携带两个 id),涉及一次执行仓库查询、一条只读路由、一个 CLI 客户端方法与加载时播种。
issue 还给出了明确的验收标准:在 hosted-harness-session.test.ts 中新增接管用例,断言替代方的 release 携带 [{ drain: true }]。
「编程与Agent」频道最新
- Decisions API 正式 GA,agent 反馈循环全自动剪辑云视频 — dkundel · 2026-10-23
- 50+ 免费 AI Agent 学习资源合集:视频与仓库一站打包 — ifioknkem · 2026-10-23
- 自封「全网最佳」的免费 AI Agent 资源库引围观 — ifioknkem · 2026-10-23
- Vercel 推出免注册部署:拖拽文件到首页即得线上 URL — steren · 2026-10-23
- 5 个 Claude Code 会话经 MCP 互发邮件,组队攻破多品牌网络摄像头 — doodlestein · 2026-10-23
- Vercel 上线 vercel deploy --temporary,可临时部署后自动清理 — cramforce · 2026-10-23