Merged
fix(platform): preserve cross-node recovery identity and retries #176
fuyipengAdd on 1 day ago
fix(platform): preserve cross-node recovery identity and retries #176
Merged
Pull Request has been successfully merged by luowenyu.
(Thank you for fuyipeng's contribution.)atomgit-bot
1 day ago Comments:
1 day ago Comments:
atomgit-bot
1 day ago Comments:
1 day ago Comments:
atomgit-bot
1 day ago Comments:
1 day ago Comments:
1 day ago Set luozhancheng,robbluo,lzkfyr_hxh as approver
1 day ago Added label: sig/sig-agent-dx
47 messages are collapsed here。 See more
luowenyu
1 day ago Comments:
1 day ago Comments:
/lgtm
/approve


1 day ago Added label: approvedlgtm-robbluo
openJiuwen-bot
1 day ago Comments:
1 day ago Comments:
1 day ago Merged pull request, merge node SHA: 58826bf9154107970cf9cd1ae0fb1bd991156114
1 day ago Removed label: ci-successful
Paired: GitHub #226 ↔ GitCode !176
/kind bug
Pod 替换触发跨节点恢复时,调度器为 checkpoint 存储和源节点排除追加的条件会留在临时 spec 中,与 Redis 的权威 Environment spec 不一致。托管卷执行授权因此校验冲突,无卷路径也会留下不一致的调度状态。
恢复 Assignment 持久化后,将调度请求和放置快照恢复为权威 spec,保持 Assignment、generation、设备与资源预留;其他规格或归属变化仍被拒绝。
恢复按失败阶段决定重试:本地容量不足、后端 restore 前的临时执行准入失败可重试;checkpoint 读取、后端 restore/初始化/readiness/路由失败,在确认清理后进入 Failed。明确的控制 RPC Unauthenticated、PermissionDenied 复用已有 BackendFailure 错误码,保留原因并停止准入重试;Internal 保留诊断信息,继续按原阶段策略处理。不新增错误类型。清理不确定时保留必要占用,Running 结果发布失败仍只补交结果。
授权已落库但回复失败时,保留本次 runtime id;确认清理后的 Paused 提交携带 stopped_runtime_ids,Coordinator 释放独占 Occupancy,下一次授权使用该 runtime 作为 previous。
新增回归收敛为 8 个:Coordinator 规格与预留不变量 2 个,自动/按需跨节点卷恢复及授权后错误处理 3 个,adxlet 可重试/不可重试边界的表驱动测试 2 个,协议错误映射 1 个。合并共享 fixture,移除重复的阶段测试;HTTP 超时语义复用现有错误码矩阵断言。同步恢复和错误契约文档。
验证
基于
upstream/master(6a4c6d87)验证:cargo fmt --all -- --check通过。cargo clippy --workspace --all-targets --all-features --locked --offline -j2 -- -D warnings通过。python3 build/docs/check.py、git diff --check通过。本地集成使用真实 Redis 和 mTLS,RuntimeDriver、readiness 与共享对象存储为测试夹具。授权错误注入发生在真实 RPC 完成 Redis 授权后的回复边界。不代表真实 sandboxd、共享文件系统或 Kubernetes 滚动升级验收。TLS/连接失败若没有明确的认证拒绝状态,仍按依赖不可用处理;本补丁不会自动复活历史 Failed 记录。