fix(jobs): 留痕清理独立接通历史存储开关;精简死逻辑并对齐陈旧注释

This commit is contained in:
windyboy
2026-09-11 14:26:44 +08:00
parent d909a88167
commit a84751bf03
14 changed files with 75 additions and 72 deletions
@@ -38,11 +38,11 @@ class PipelineProps {
var maxCommitDelay: Duration = Duration.ofMinutes(5)
/**
* 超期补写期限:一条消息处理完之后,如果过了这么久还是没能把处理标记写回信箱
* (比如回填一直失败),就直接强制补写一次,不再等退避
* 超期补写期限 R:一条消息到达终态后,过了这么久处理标记仍未写回信箱
* (比如回填一直失败),扫描谓词的超期分支成立,无视退避强制补写(只会提前、从不推迟打标)
*
* 这是保证库方能清理信箱的兜底期限,必须覆盖人工重放所需的保留期,
* 确认之前不要调小,否则还在重放窗口内的消息会先被库方清掉
* 唯一约束是 R ≤ R_keep,**不保护重放窗口**(打标时刻与 R 解耦,完整论证见
* message-lifecycle.md §5.2)。取值待 Q6 定案,确认之前不要为提速下调
*/
var overdueBackfill: Duration = Duration.ofDays(30)
@@ -104,7 +104,7 @@ class PipelineProps {
* 配置自检:退避表档位数必须等于 `max-attempts 1`。
*
* 因为 attempts 一达到 `max-attempts` 就转 `DEAD`、不再计算下次重试,能真正用到的档位
* 只有 `max-attempts 1` 个。表更长会有一段**永远走不到**(默认配置里的 16 秒档就是这样)
* 只有 `max-attempts 1` 个。表更长会有一段**永远走不到**,
* 表更短则会提前封顶。两种错位都应该在启动时暴露,而不是静默生效。
*/
fun validate() {