Files
windyboy 73113779d2 fix(processing): U08 重试闭环 + FailureScheduler + U11 重放入口(ACM2-10)
- U08 闭环:失败状态迁移移到持有 head/事件的边界内——processOne/SnapshotFlow 统一经
  ProcFailure(FAILED+attempts+退避,达上限 DEAD/EXHAUSTED 并落库 attempts);Dispatcher
  逐条与 SCHD 批量共用 retryOrDead;flushSchd 失败整批 attempts+1/指数退避,队首未到期不
  claim,达上限整批 DEAD(DLQ);loop 只作最后防线——仅 catch Exception,InterruptedException
  恢复中断位并上抛,致命 Error 不吞(异常必可见)
- 统一策略:新增 FailureScheduler(可注入 java.time.Clock + TimeFactory,backoff/exhausted
  单一来源)与 ProcFailure,MessageProcessor/SnapshotFlow/Dispatcher 共用
- U11:ReplayService 显式重放入口 + ProcStateRepository.requeueByErrorClasses——仅白名单内
  可恢复类(CODEC_ERROR/UNSUPPORTED/INFRA/EXHAUSTED)从 FAILED/DEAD 回 PENDING(attempts 清零),
  MALFORMED 永不重放
- 测试(30 个全绿):①Pump 内部异常→FAILED(INFRA)→重试达上限 DEAD;②SCHD 连续失败退避递增→
  整批 DEAD 且 KAFKA:msg 不受影响;③AssertionError/InterruptedException 不被普通恢复吞掉;
  另有 ReplayService(3)、Dispatcher 批退避、InfraBindingStartupTest(DataSource 启动级绑定)
- 收尾:.gitattributes(行尾/二进制);Gradle 10 弃用告警核查——仅来自 micronaut-application
  插件(BOM 注入 + IDE 文件生成),升级 Gradle 10 前需先升插件版本(已记录)
2026-09-06 19:08:02 +08:00

14 lines
286 B
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 行尾/二进制规范(Gradle 10 前收尾项,ACM2-10 U02/U30
* text=auto
# shell 启动脚本必须 LFWindows 上保留可执行)
*.sh text eol=lf
gradlew text eol=lf
*.bat text eol=crlf
# 二进制一律不转行尾
*.jar binary
*.png binary
*.jpg binary
*.pdf binary