Skip to content

[BUG] 为任务追踪关联记录补齐提交回滚与保留期清理 #228

Open

Description

@Aias00

已复现问题

TaskTraceCorrelation 使用 ConcurrentHashMap 保存 taskId 到追踪上下文,存在 forget 方法,但生产路径无调用。TaskTool 在 taskRepository.putTask 前记录,仓库拒绝提交后不回滚。任务仓库即便有容量和 TTL,旁路关联 Map 仍无对应生命周期。

对实际编译类模拟仓库 RejectedExecutionException 后,关联 Map 仍有 1 条记录,而任务未被接受。此结果是确定的残留记录复现,不是堆内存压测结论。

证据:

交付与验收

  • 未接受/拒绝/提交失败时撤销关联;处理任务开始与关联注册的竞态。
  • 将关联保留与任务结果的删除、淘汰、TTL、clear、关闭等生命周期协调,覆盖默认/有界/注入仓库。
  • 不在任务一完成就盲目删除,确保支持的结果轮询窗口内仍可建立接收 span/link。
  • 验证拒绝提交、结果过期、重复轮询、并发清理和关闭;可重复执行后记录数收敛到规定范围。
  • 明确调用者提供关联存储的资源所有权,避免关闭共享资源或通过静默丢弃有效关联掩盖问题。

基线、关系与变更约束

已验证 Core 76d44429fdaa6a69320e21a1cb77119d0889d792 / Extensions 495414b76a37aca4d7c1022d973a8e5b9a7e92e6。关联:#188、#131。

局部修复不等待全局 Agent/Workflow/Loop 重构。优先复用现有中立契约;若改公共 API、配置或持久数据,说明替代方案、消费者影响、目标版本与迁移/回滚步骤。不得以跳过检查、删除测试或向 Core 重新引入供应商 SDK 解决问题。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions