ddefcbed56
28459 的两个遗留项: 1) 外观专利缺「补传恢复」入口——分片缺失致组装 job 重试耗尽后,客户端补传缺口 也无法自动重跑,只能人工重置 job。TaskFileJobService 早有 resetTerminalFailedForRecovery,但只被删除品牌模块接了。现按同一口径在分片 提交成功后检查并恢复;best-effort,恢复失败不影响补传本身。 2) 合并 CAS 冲突不可诊断且会删掉唯一的兜底对象——原实现每次冲突都删掉刚写入的 版本化对象,重试耗尽即抛异常、行仍指向旧指针;一旦旧对象也不在,该分片永久 读不到(28459 的 chunk-462/473/484 正是这个形态)。现在冲突时读回行上当前 哈希并写进异常与日志;终局失败保留最后一个对象,作为读路径「同槽位兄弟对象」 兜底的恢复源。外观专利与相似ASIN 同一口径。 测试:新增 17 个用例(补传恢复 8 / 外观专利合并冲突 5 / 相似ASIN 合并冲突 4), RED 均已确认;全量 mvn test 3099 个 0 失败。