16974d04f9e76d4244a23a83412b2f2bf9c6e747
接 cbfee6b。retryCount 原被限流与普通失败共用累加,而终止判定按本次 errorCode 在 12h 兜底与次数上限间翻转:限流重试撑高 retryCount 后一旦 出现普通失败,会被 retryCount>=maxRetry 提前判死;反之普通累计接近上限 后转限流又借 12h 续命绕过次数上限。 最小治本(不动 DB):retryCount 语义收敛为普通失败次数,限流重试冻结 它(靠 firstFailTime+12h 兜底终止)。 - 新增 nextRetryCount(current, rateLimit):限流冻结、普通累加。 - applyRetryUpdate 改用 nextRetryCount;insert 路径首次限流 retryCount=0、 普通=1。firstFailTime 维度本无污染(只设一次),不动。 测试:RetryDecisionLogicTest 新增 2 例锁回归,原 4 例不变,共 6/6 绿; 全模块编译通过。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Description
Languages
Java
100%