fix(processing): keep exhausted failures terminal

ProcFailure.fail 在 markTerminal 后继续执行 update(FAILED),把 DEAD(EXHAUSTED) 覆写回非终态。改为耗尽分支写完终态即返回,保持 INV-6 终态不可逆与 INV-8 回填意图同语句。

回归:ProcFailureTest 覆盖临界次数保持 DEAD、不可回退 FAILED,以及非耗尽退避。
This commit is contained in:
windyboy
2026-09-12 20:29:23 +08:00
parent 3085431bea
commit 161914eeb8
2 changed files with 63 additions and 0 deletions
@@ -30,6 +30,7 @@ class ProcFailure(
lastError = "$reason; attempts=$attempts",
now = scheduler.now(),
)
return // 终态已写:不再执行下面的 FAILED 更新,否则会把 DEAD 覆写回非终态
}
procState.update(
head.msgId, ProcStatus.FAILED,