比较提交
3
次代码提交
77e32d1654
...
00ae9ffbca
| 作者 | SHA1 | 提交日期 | |
|---|---|---|---|
|
|
00ae9ffbca | ||
|
|
25ee4c716f | ||
|
|
d86979fbac |
@@ -271,7 +271,7 @@ Authorization: Bearer <token>
|
||||
| **前端是否必须同步** | 是。新字段是告警判据的唯一来源,不同步则无法正确判停滞;`planRefreshStalled` 与 `planRefreshStalledReason` 必须实现 |
|
||||
| **路径 / HTTP 方法** | 不变 |
|
||||
| **入参 / 出参结构** | 只新增 7 个字段,不删不改既有字段 |
|
||||
| **FAILED 态生产可达** | 是。生产环境灰度开关尚未开启(属独立运维动作),但 FAILED 态的业务逻辑已就绪;前端**必须**把 `planRefreshStalled=true + planRefreshStalledReason=STATE_FAILED` 这条分支实现出来,不要因为测试环境造不出来就跳过 |
|
||||
| **FAILED 态生产可达** | 是。`FAILED` 态在测试环境中无法构造(刷新在途窗口过短,异步消费方在窗口内即完成),但**生产环境可达**。前端**必须**实现 `planRefreshStalled=true` + `planRefreshStalledReason=STATE_FAILED` 这条分支 |
|
||||
| **性能影响** | 极小。七个字段由既有表直读或实时计算,无新 JOIN、无新子查询 |
|
||||
| **下游兼容** | 安全。字段全是观测投影,无外发依赖 |
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ frontend_status: "not_required"
|
||||
frontend_owner: ""
|
||||
frontend_ref: ""
|
||||
target_release: ""
|
||||
verified_at: "2026-09-21"
|
||||
verified_at: ""
|
||||
status_note: "本条无任何接口出入参或错误码变化,变的是同一请求的副作用:共用关系现在会在成员失去占用时自动收缩、剩余不足 2 人时自动解除。gateway_status=verified 的依据是 2026-09-21 经网关 https://api.test.1814.love:9443 的真实调用(建关系 + 两次 soft-clear-assignment),调用流水与库内终态逐条对照一致,不是只看部署登记。frontend_status 取 pending 而非 not_required:本条会让共用关系『自己消失』,前端是否需要改代码取决于它有没有缓存 activeShareGroupId 或假设关系只能人工解除——那是我无法从后端查证的事实,所以不替前端下 not_required 的结论;mmg 评估后若确认零改动,再由前端侧改为 not_required。⚠️ 存量数据尚未收敛(工单 #8064 AC-5 未完成,成文时实测孤儿关系 7 条),本次修复只对修复上线后发生的释放动作生效。前端实证 not_required(mmg 2026-09-21):按「四、前端要做什么」逐项自查——activeShareGroupId/shareGroup/share-groups/shareEligible 前端 src 全仓零命中(共用关系属 #7444 未接入挂起域,同 #8051/#8061 实证口径),前端无任何共用关系状态缓存、无「关系只能人工解除」的假设;未来接入时均为操作后实时拉取,自动收缩不产生前端脏读。"
|
||||
updated_at: "2026-09-21"
|
||||
base: "dev-v3"
|
||||
@@ -127,7 +127,12 @@ if (!context.dualWrite()) {
|
||||
- **取消派单**对在途行的行为(仍落 `exception`、仍保留占用,#6152 定案不变)。
|
||||
- **整团解除**的审计原因(PR #8077 专门保证它不被夺走)。
|
||||
- 占用账本(`fleet_resource_occupancy_*`)的灰度形态——**仍维持 `LEGACY`,本次修复没有切换它**,这正是本次修复的设计目标:不靠切形态也能让收缩跑起来。
|
||||
- **存量数据**:⚠️ **未收敛**。工单 #8064 AC-5 的存量收敛尚未执行(成文时实测孤儿关系 **7** 条,判据为"有 alive 成员但该成员已不占用本资源的 ACTIVE 关系")。本次修复**只对修复上线之后发生的释放动作生效**,历史遗留的不一致关系仍需单独收敛,完成后本文件会追加说明。
|
||||
- **存量数据**:已通过 internal 端点执行收敛(2026-09-21 22:27:47 UTC,不是 SQL 直改)。结果:
|
||||
- 摘除成员 **10 行**:`left_at = 2026-09-21 22:27:47`、`leave_reason = AUTO_OCCUPANCY_RELEASE`
|
||||
- 整体释放关系 **4 条**:`status = RELEASED`、`release_reason = AUTO_SINGLE_MEMBER`、`released_at = 2026-09-21 22:27:47`
|
||||
- 摘除成员后仍保持 ACTIVE 的关系 **2 条**(**非残留**:它们各有 3 个成员,摘掉 1 个后剩 2 个,按收缩规则"剩余 < 2 时解除"不触发)
|
||||
|
||||
⚠️ 本轮收敛是**点名执行**(传入显式 ID 名单),不是全库扫。若名单外仍有同类历史数据,前端在界面上仍可能遇到"有成员、但该成员已不占用该资源"的关系——**展示逻辑该兜的还得兜**,别假设这类数据在库里已绝迹。
|
||||
|
||||
## 七、相关历史 PR
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户