Skip to content

OpenClaw 自动迭代 Issue 残留问题分析

概述

50 轮自动迭代后留下 4 个孤儿 Issue,根因是幂等性设计缺失。

问题现象

  • 50 轮自动迭代完成后
  • 遗留 4 个未关闭的孤儿 Issue
  • 这些 Issue 对应的任务实际已完成

根因分析

Issue 创建逻辑

  • 同一轮次最多创建 7 个 Issue
  • 但关闭逻辑只处理 最新的 Issue

触发条件

delivery 失败 → 指数退避 → 重复调度 → 创建多个重复 Issue

                    关闭逻辑只处理最新一个 → 旧的变成孤儿

典型的分布式系统问题

这是经典的 幂等性缺失 问题:

  1. 操作不是幂等的——同一任务可以创建多个 Issue
  2. 状态不一致——创建和关闭使用了不同的匹配逻辑
  3. 没有全局唯一标识——无法追踪同一任务的所有 Issue

解决方案

  1. 幂等键 — 每个任务生成唯一 ID,创建 Issue 前先检查是否已存在
  2. 乐观锁 — 使用 Issue 标签/标记追踪任务状态
  3. 最终一致性检查 — 定期扫描孤儿 Issue 并清理

致富经 — 项目开发 & 技术沉淀