docs(changelog): #7442 订正两份交接件的部署顺序结论——按单算的"顺序无所谓"在并集里是错的
changelog-filename-gate / validate (push) Failing after 3s
changelog-filename-gate / validate (push) Failing after 3s
两份文档各有一句部署顺序结论: - reconfigure 补登:「万一要分批,order-v3 先滚风险更低」 - 就绪回写补登:「本单不强制要求特定先后顺序」 两句按各自那次改动算都是对的,分析段也都标了范围(reconfigure 那份甚至 明写「本单与 #7957 的『fleet 必须先滚』不同」)。错的是结论句把限定丢了, 读起来像是对这次部署的建议。 而 PR-C2(#7957)后来在同一个 GroupBatchDispatchBaselineDTO 上加了 reconfigureWindow,它强制 fleet 先于 order-v3:order-v3 先滚时旧 fleet 收到 dispatchable=true 直接放行重配,不读 reconfigureWindow、不校验令牌 与范围,「受控重开」当场退化成「不受控重开」——而两端日志都正常、 没有任何报错。今天要部署的人面对的是这些改动的并集,不是某一单。 ⇒ 两份都补了订正框,并把实操答案写死:同批滚;必须分批时 fleet 先、 order-v3 后。同时立了一条规矩:写部署顺序结论一律带上「截至某日期/commit, 这个 DTO / 这批部署单位上还有哪些已合入的改动」这个限定——按单写的部署 结论会在下一次改动落到同一个对象上时变成陷阱,而它不报错,也没有人会 回来改它。 原分析段逐字保留,只给结论句补范围。 Refs #7442 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
这个提交包含在:
@@ -396,8 +396,17 @@ POST /v3/internal/group-batch/1934567890123456800/vehicle-ready-reset
|
||||
不会报错也不会解析失败,等价于"这个请求体被忽略了",order-v3 仍按改动前的无身份逻辑处理。**净效果**:
|
||||
两级判定这项保护在这段过渡期内**还没有生效**(旧漏洞——乱序/旧版回调污染就绪状态——仍然存在),
|
||||
但不会比改动前更糟,也不会报错或崩溃。
|
||||
- **结论**:两个方向都不会比"改动前"更差,区别只是"保护何时开始生效"。**仍建议同批滚**,让两级判定
|
||||
尽快对新回调生效,避免过渡期内继续吃"旧漏洞"的亏。
|
||||
- **结论(⚠️ 只对本单这一次改动成立,不要拿它指导今天的部署)**:**单看本单**,两个方向都不会比
|
||||
"改动前"更差,区别只是"保护何时开始生效"。
|
||||
|
||||
> 🔴 **2026-09-19 订正:不要据此认为"顺序无所谓"。**本单自身确实不挑顺序,但**同期还有别的改动**
|
||||
> 落在同一批部署单位上——PR-C2(#7957)在 `GroupBatchDispatchBaselineDTO` 上加了 `reconfigureWindow`,
|
||||
> 它**强制 `fleet` 先于 `order-v3`**(order-v3 先滚 ⇒ 旧 fleet 不校验窗口令牌,「受控重开」静默退化成
|
||||
> 「不受控重开」,两端日志都正常)。今天部署的是这些改动的**并集**。
|
||||
> ⚠️ **按单写的"顺序无所谓",在并集里就是错的**,而且它不会报错、没有人会回来改它。
|
||||
> ⇒ 写部署顺序结论一律带限定:「**截至 <日期/commit>,这批部署单位上还有哪些已合入的改动**」。
|
||||
|
||||
**⇒ 今天的实操答案:同批滚;必须分批时 `fleet` 先、`order-v3` 后。**
|
||||
|
||||
### 消费方清单不能按 `pom.xml` 直接依赖关系查
|
||||
|
||||
@@ -405,8 +414,9 @@ POST /v3/internal/group-batch/1934567890123456800/vehicle-ready-reset
|
||||
`grep -rl 'hl-common-core' */pom.xml` 只命中 `hl-gateway`/`hl-finance`,order-v3 与 fleet 都经
|
||||
`hl-common-web` 传递引入,不在直接依赖清单里,但正是本单真正改了代码的两个服务。
|
||||
|
||||
⇒ **实际部署单位共 7 个**:gateway / user / resource / product-v2 / order-v3 / mp / fleet;本单不强制
|
||||
要求特定先后顺序,但**同批滚**仍是最稳妥的做法。
|
||||
⇒ **实际部署单位共 7 个**:gateway / user / resource / product-v2 / order-v3 / mp / fleet。
|
||||
**同批滚**;必须分批时 **`fleet` 先、`order-v3` 后**(本单自身不挑顺序,但同期 PR-C2 挑,
|
||||
今天部署的是并集——见上方 2026-09-19 订正框)。
|
||||
|
||||
### 🔧 2026-09-19 补充取证:PR 正文与本节结论的矛盾判定依据
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户