fix(processing): 合法不支持类型改记 SKIPPED 终态,参考数据单列 RefData(ACM2-83)
- MsgKind.RefData 承接 SIS:3.1~3.14 类别码,白名单分派对齐 implementation.md - Unsupported 由 FAILED(UNSUPPORTED) 重试改为 SKIPPED(unsupported) 终态(US-03 AC2) - RefData 在 ReferenceDataProcessor 实装前保持可重试失败,不被吞为跳过 - 同步更新 IgnoreBranchTest / PipelineSmokeTest 旧断言,补 codec 分派回归
This commit is contained in:
@@ -245,10 +245,18 @@ class MessageProcessor(
|
||||
if (payload == null) return deadMalformed(head, "missing-flop-body")
|
||||
flopProcessor.apply(head, decoded, payload)
|
||||
}
|
||||
is MsgKind.RefData -> {
|
||||
// 参考数据必须走 US-13(implementation.md「分派」),不得按"不支持"跳过;
|
||||
// ReferenceDataProcessor 尚未实装(ACM2-93,待 Q22),先按可重试失败留队并告警。
|
||||
log.warn("refdata without handler -> FAILED(UNSUPPORTED) msgId={} type={}", head.msgId, kind.type)
|
||||
return procFailure.fail(head, ErrorClass.UNSUPPORTED, "refdata-pending:${kind.type}")
|
||||
}
|
||||
is MsgKind.Unsupported -> {
|
||||
// 还没有对应处理器的报文类型:先按可重试的失败处理,等能力补齐,不直接判死
|
||||
log.warn("unsupported type -> FAILED(UNSUPPORTED) msgId={} tag={}", head.msgId, kind.tag)
|
||||
return procFailure.fail(head, ErrorClass.UNSUPPORTED, "no-handler:${kind.tag}")
|
||||
// 合法但不支持的类型:跳过留档记 SKIPPED(US-03 AC2;markTerminal 同一条 UPDATE
|
||||
// 登记回填意图),不当可重试失败占住队头
|
||||
log.info("unsupported type -> SKIPPED msgId={} tag={}", head.msgId, kind.tag)
|
||||
procState.markTerminal(head.msgId, ProcStatus.SKIPPED, lastError = "unsupported:${kind.tag}", now = clock.instant())
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user