Files
junhong_cmp_fiber/openspec/changes/archive/2026-08-20-daily-audit-log-retention/proposal.md
2026-08-20 12:03:17 +08:00

1.8 KiB
Raw Blame History

Why

tb_audit_eventtb_audit_event_resourcetb_integration_log 每日持续写入百万级记录;现有物理留存任务仅在月初清理上一个完整自然月,在线表、索引和备份在月内持续膨胀。生产需要在确认对象存储归档完整且可恢复后,按日清理在线日志数据。

What Changes

  • 将统一审计事件、审计资源快照和 Integration Log 的物理留存单位由完整自然月改为完整自然日。
  • 每次日留存任务处理昨天及更早仍未完成清理的归档日;仅在对应 Audit 与 Integration 归档均成功、完整、可读取且满足最终版要求时,分批物理删除在线表中该日的数据。
  • 将清理断点和查询留存边界改为按归档日表达,支持失败后从未完成日期续跑,且不删除未通过校验的日期。
  • 保留对象存储归档和现有物理清理开关;不降低卡观测、轮询或外部交互日志的写入频率。

Capabilities

New Capabilities

无。

Modified Capabilities

  • operations-audit: 审计在线数据在逐日归档校验通过后按归档日物理留存,并向调查查询提供逐日清理边界。
  • external-integration: 外部交互日志在逐日最终归档校验通过后按归档日物理留存。

Impact

  • Worker 定时任务、审计归档服务、月度留存处理器和留存边界查询。
  • tb_log_archive_run 的清理断点语义,以及 tb_audit_eventtb_audit_event_resourcetb_integration_log 的物理删除范围。
  • 对象存储归档读取、manifest 与哈希校验。
  • 生产需更新 Worker 二进制、JUNHONG_WORKER_AUDIT_RETENTION_CLEANUP_ENABLED 及独立留存日志配置;日志写入 Worker 工作目录下的 logs/audit-retention.log,不新增外部 API不直接执行生产数据删除或迁移。