Gemini CLI 修复并行 Agent 文件竞态,写入全面原子化
elberthc-byte · ghdev · 2026-09-25
Google Gemini CLI 合并了一个 P1 级 PR,系统性修复并行工具执行(尤其是并行 sub-agent)同时操作同一文件时的竞态问题:此前无协调的读-改-写会导致静默丢失更新、diff 计算错误以及 shadow Git 快照的 .git/index.lock 冲突。
核心做法:
- 引入进程内按路径的异步互斥锁 withPathLock,锁键规范化为真实绝对路径,队列中的等待者可响应 AbortSignal 立即取消
- 将 EditTool 与 WriteFileTool 的读-改-写临界区按路径串行化,防止两个并行操作基于同一基线互相覆盖
- 文件写入改为「同目录临时文件 + 原子 rename」实现原子性,保留原文件权限,处理 Windows 下 EBUSY/EPERM 等瞬时锁错误重试
- shadow Git 快照创建按项目根路径串行化,避免索引锁冲突
「编程与Agent」频道最新
- Explosion 发布 Ellf 目录:52 个 NLP 模板与多智能体标注工作流 — _inesmontani · 2026-11-11
- 梗图吐槽:所谓随机 AI Agent 架构就是换了马甲的马尔可夫链 — PrasoonPratham · 2026-11-11
- OpenCode 上线 Gemini 4 Carbon 与 Claude Fable 5.2 — dean_rie · 2026-11-11
- OpenClaw 发布 v2026.11.3 安全补丁,56 个 PR 修复凭证泄露 — dean_rie · 2026-11-11
- Fable 5.2 首日拿下编码 Agent 中 1/4 的 Claude 回复 — dean_rie · 2026-11-11
- QA 工程师想用 MCP Agent 自动验证归因回传,替代每两周半天的人工检查 — Soobhee_Chukwutosin · 2026-11-11