From cb93c76b03b19b3f0e459190a544313c73d95fe2 Mon Sep 17 00:00:00 2001 From: k2safe Date: Sun, 20 Sep 2026 01:47:36 +0800 Subject: [PATCH] docs: record shared-net fault regression --- docs/release-checklist.md | 2 +- docs/reports/phase-7-regression-status.md | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/release-checklist.md b/docs/release-checklist.md index 71d32d3..e32b409 100644 --- a/docs/release-checklist.md +++ b/docs/release-checklist.md @@ -28,7 +28,7 @@ | 项目 | 证据/命令 | 状态 | | --- | --- | --- | | 幂等、事务、租约、重试、未知结果和流程恢复 | P1–P5阶段报告及真实 MySQL 回归 | 功能阶段已通过 | -| 派发未送达、提交前后断线、最终信号竞争 | [故障边界报告](reports/phase-6-fault-boundaries.md) | 历史 loopback 定向场景已通过;当前容器组除 loopback 包截断场景外均通过,完整脚本仍需合适环境 | +| 派发未送达、提交前后断线、最终信号竞争 | [故障边界报告](reports/phase-6-fault-boundaries.md)、[当前回归状态](reports/phase-7-regression-status.md) | 历史 loopback 场景已通过;当前共享网络命名空间已复跑并通过两组 COMMIT 包截断故障,控制进程全停/接管也已通过;SDK/HTTP 进程组和 Go 1.27.1 无过滤全量仍待发布环境 | | 备份恢复 | `scripts/test-backup-restore.sh`、[恢复报告](reports/phase-6-backup-restore.md) | 隔离演练已通过;生产介质待验收 | | MySQL 短暂不可用恢复 | `scripts/test-db-recovery.sh`、[恢复报告](reports/phase-6-db-recovery.md) | 单节点同卷演练已通过;主从/跨故障域待验收 | | 运行观测和只读快照 | `/metrics`、`orbit-admin observe snapshot`、[观测手册](api/observability.md) | 固定基数和有界单节点快照已实现 | diff --git a/docs/reports/phase-7-regression-status.md b/docs/reports/phase-7-regression-status.md index 53aec9f..e742469 100644 --- a/docs/reports/phase-7-regression-status.md +++ b/docs/reports/phase-7-regression-status.md @@ -11,12 +11,16 @@ | SDK 竞态、vet、构建 | Docker `golang:1.25`;SDK 全 module、全部示例和 `orbit-load` | PASS | | 当前协议门禁 | `make protocol-check` | PASS,当前 v1 契约同步 | | MySQL 存储集成 | MySQL 8.4.10,一次性容器;`go test -race -run Integration -skip 'TestIntegration(WorkflowCommitFaults\|CredentialCommitFaults)$'` | PASS,210.893 秒;包含空库无外键基线、v7升级、Pulse/Weave/API/观测/恢复与W16竞争 | +| MySQL COMMIT 包截断故障 | MySQL 8.4.10 与 Go 测试容器共享网络命名空间;`127.0.0.1` DSN;两组提交前/后切点 | PASS;`TestIntegrationWorkflowCommitFaults` 8个子场景与 `TestIntegrationCredentialCommitFaults` 均通过,预期 `unexpected EOF` 为故障注入结果 | +| Orbit 控制进程全停/接管 | 同一共享网络命名空间;容器内构建 Linux Orbit 二进制;`ORBIT_TEST_SERVER_BINARY=/tmp/orbit go test -race -run '^TestIntegrationWorkflowRuntimeProcess$'` | PASS,43.127 秒;强杀、全停、定时器、轮询、信号、人工复核和双节点接管均通过 | -## 当前环境排除项 +## 当前环境仍未覆盖 -无过滤运行的存储集成组中,`TestIntegrationWorkflowCommitFaults` 和 `TestIntegrationCredentialCommitFaults` 被测试自身的前置检查拒绝:它们必须连接到测试进程视角下的 `127.0.0.1` 明文 MySQL,以便逐包截断真实 COMMIT;容器网络别名不满足这个故障模型。该结果不能当作场景通过,也不能归因于本次代码改动。`TestIntegrationWorkflowRuntimeProcess` 需要宿主机可执行的 Orbit 二进制,在本次容器测试中按测试契约跳过。 +此前使用容器网络别名运行存储集成时,两组 COMMIT 故障测试曾因自身 `127.0.0.1` 明文连接前置条件被拒绝;本轮已改用共享网络命名空间单独复跑并通过,因此不再把它们列为未验证场景。共享网络命名空间只解决测试进程的 loopback 观察条件,不改变生产部署约束。 -这些切点已有历史 macOS arm64 + Go 1.27.1 + loopback MySQL 通过记录,见[故障边界报告](phase-6-fault-boundaries.md);发布候选仍需在资源充足、满足 loopback 预条件的环境重新运行无过滤 `make integration`。当前环境没有把 Docker Go 1.25 的结果升级为仓库声明 Go 1.27.1 的正式全量结论。 +当前仍未完成仓库声明 Go 1.27.1 下的无过滤标准全量回归,以及 SDK/服务端跨标签矩阵。SDK 进程故障组和公共 HTTP 进程组还需在同一目标环境执行;当前已完成的服务端控制进程组不替代这些发布门禁。 + +历史 macOS arm64 + Go 1.27.1 + loopback MySQL 的完整切点记录见[故障边界报告](phase-6-fault-boundaries.md)。当前 Docker Go 1.25 结果仍不升级为仓库声明 Go 1.27.1 的正式全量结论。 ## 结论