9.7 KiB
P7 当前回归状态
验证日期:2026-09-20。本记录只汇总当前环境实际执行的回归,不把跳过或预条件失败写成通过。
已执行
| 检查 | 环境/命令 | 结果 |
|---|---|---|
| 服务端单元与竞态、vet、构建 | Docker golang:1.27.1,仓库声明版本;GOWORK=off go test -race ./... && go vet ./... && go build ./... |
PASS |
| SDK 与独立示例竞态、vet、构建 | Docker golang:1.27.1;SDK 全 module、全部示例、orbit-load、orbit-exec-load、orbit-schedule-load、orbit-workflow-load,以及 result-inbox/task-outbox |
PASS |
| 容器发布物构建 | make image;宿主平台 linux/arm64;显式 docker build --platform linux/amd64;带 VERSION、REVISION、BUILD_TIME 构建参数的版本化镜像;镜像内 GOWORK=off |
PASS;native 与 amd64 镜像均构建成功,包含 orbit、orbit-migrate、orbit-admin,运行用户为非 root;版本化 amd64 二进制包含注入的构建身份,GET /version 契约单测通过;无 DSN 时服务按预期拒绝启动 |
| 当前协议门禁 | make protocol-check |
PASS,当前 v1 契约同步 |
| 历史 SDK / 服务端任务 API 双向演练 | Go 1.27.1、MySQL 8.4 一次性环境;make mysql-compatibility;历史提交 a50d5fa |
PASS;旧服务端+当前 SDK、当前服务端+旧 SDK 均完成真实任务受理、幂等、查询、分页和取消;不是正式标签或全协议矩阵 |
| 外键迁移防回归 | TestPostRemovalMigrationGuard;服务端迁移运行时校验 |
PASS;000008 以前仅保留兼容清理历史,后续迁移在执行前拒绝引用约束 DDL |
| Go 1.27.1 MySQL 存储集成 | MySQL 8.4.10,一次性容器;go test -race -count=1 -run Integration -v ./internal/storage/mysql |
PASS,206.706 秒;包含空库无外键基线、v7升级、Pulse/Weave/API/观测/恢复、提交故障、凭据故障与W16竞争;未设置服务二进制时仅 TestIntegrationWorkflowRuntimeProcess 跳过 |
| Go 1.27.1 标准全量隔离回归(本轮) | 宿主机 Go 1.27.1 darwin/arm64;GO=go DOCKER=docker ORBIT_TEST_MYSQL_IMAGE=mysql:8.4 sh scripts/test-mysql.sh;Docker MySQL 8.4.10 |
PASS,退出码0;存储与迁移263.017秒、指标进程6.731秒、流程全停接管45.636秒、SDK Worker/Event/任务进程组128.049秒、流程进程组13.812秒、Workflow SDK28.498秒、result-inbox34.628秒、task-outbox33.818秒;24个SDK示例、3个负载工具和两个独立业务模块均完成真实服务串跑,临时数据库已清理 |
| MySQL COMMIT 包截断故障 | MySQL 8.4.10 与 Go 测试容器共享网络命名空间;127.0.0.1 DSN;两组提交前/后切点 |
PASS;TestIntegrationWorkflowCommitFaults 8个子场景与 TestIntegrationCredentialCommitFaults 均通过,预期 unexpected EOF 为故障注入结果 |
| Go 1.27.1 Orbit 控制进程全停/接管 | 同一共享网络命名空间;容器内构建 Linux Orbit 二进制;ORBIT_TEST_SERVER_BINARY=/tmp/orbit go test -race -run '^TestIntegrationWorkflowRuntimeProcess$' |
PASS,42.958 秒;强杀、全停、定时器、轮询、信号、人工复核和双节点接管均通过 |
| Go 1.27.1 SDK Worker/Event 子进程故障 | 同一共享网络命名空间;容器内构建 Orbit 二进制;SDK TestIntegration(Worker|Event)Process |
PASS,121.600 秒;派发未送达、租约接管、ACK 提交回执丢失、慢消费者对等节点推进、重试未知结果、计划/优先级/键并发和任务接管均通过 |
| Go 1.27.1 SDK Workflow 子进程故障 | 同一共享网络命名空间;容器内构建 Orbit 二进制;SDK TestIntegrationWorkflowProcess |
PASS,10.275 秒;流程暂停、信号/定时等待、任务结果和恢复后的版本/截止/预算均保持 |
| Go 1.27.1 SDK 应用配额子进程故障 | 独立双命名空间应用配额凭据;共享网络命名空间;TestIntegrationWorkerProcessApplicationBackpressure |
PASS,1.055 秒;重启后共享额度、原回执和跨命名空间背压保持 |
| Go 1.27.1 SDK 可运行示例真实服务串跑 | MySQL 8.4.10 一次性库、真实 Orbit HTTP、Worker/Weave 凭据;24 个 SDK 示例及 orbit-exec-load、orbit-schedule-load、orbit-workflow-load |
PASS;24 个示例和 3 个负载工具均完成实际受理、执行、结果/事件/流程核对,所有负载样本 complete=true、unverified=0 |
| Go 1.27.1 result-inbox 真实业务集成 | 独立接收方 MySQL 8.4.10;真实 Orbit HTTP/WSS;go test -race -run Integration ./...,含 COMMIT 回执丢失、进程强杀后 Inbox 接管、并发去重及事务回滚 |
PASS;测试包 34.183 秒,初始化与 demo 也完成;实际业务提交后才确认 ACK,最终业务效果只保留一次 |
| Go 1.27.1 task-outbox 真实业务集成 | 独立发送方 MySQL 8.4.10;真实 Orbit HTTP;go test -race -run Integration ./...,含 CLI、三处 COMMIT 回执丢失、HTTP 回执丢失、发送进程强杀后租约接管、预算和错误分类 |
PASS;测试包 32.964 秒,初始化与 demo 也完成;原操作键恢复为单一平台任务 |
| Go 1.27.1 备份恢复脚本 | Go 1.27.1 交叉构建 macOS arm64 二进制;scripts/test-backup-restore.sh;MySQL 8.4 |
PASS;源/恢复核心计数均为 1,1,1,1,28,迁移校验完整、固定索引6个、外键0 |
| Go 1.27.1 数据库短暂不可用脚本 | Go 1.27.1 交叉构建 macOS arm64 二进制;scripts/test-db-recovery.sh;MySQL 8.4 同卷重启 |
PASS;readiness 200 → 503 → 200,恢复后使用原凭据成功受理任务 |
| Go 1.27.1 MySQL GTID 复制与手工提升 | 两个一次性 MySQL 8.4 bridge 容器;真实 Orbit HTTP;scripts/test-mysql-replication.sh |
PASS;复制 IO/SQL 均为 Yes,任务记录复制到副本,源库停止后手工提升、结构核验和原幂等键重放通过;自动切换未验证 |
| Orbit HTTP/metrics 子进程 | 同一共享网络命名空间;TestIntegrationMetricsProcess;metrics 启用/禁用各一组,禁用分支等待后台周期 |
PASS,5.304 秒;监听隔离、隐私、后台采样、metrics 关闭后调度器持续运行和优雅退出均通过 |
| 真实Worker执行测量 | orbit-exec-load;最终短/混合/中长及截止不足四组,环境及原始JSON见测量报告 |
96+96+6项全部逐项核验,长任务18次续租;24项截止负例按预期非零退出。SDK全模块竞态/vet/build通过,生产容量未验收 |
| 真实Weave流程测量 | orbit-workflow-load;24/100实例、固定发布版本双分支并行及24实例截止负例,见流程测量报告 |
124个正常实例、248个不同任务/唯一尝试和本地调用逐项关联;负例2成功/22未核验,非零退出。重新构建并保存源码/二进制哈希,替换旧证据;生产容量未验收 |
| 真实定时集中触发测量 | orbit-schedule-load;4×6及32×4触发,2×12截止负例,见定时测量报告 | 正常152项逐项核验;负例18个未观察点、4个未核验任务,非零退出;38个计划均暂停,实际库外键0。SDK全模块竞态/vet/build通过;生产容量未验收 |
| 长期积压与曲线 | make schedule-backlog;32×8共256个触发点,1 Worker/容量1,独立连接每2秒读取状态 | 最高等待249,180秒截止时173成功/83未核验,计划全部暂停,实际库外键0;目标硬件资源与生产容量未验收,见积压报告 |
| SDK 重连边界 | TestEventConsumerReconnectStormUsesBoundedBackoff,真实 TLS 测试服务器,4次连续断线 | 第5次连接恢复,重连4次、处理器调用1次、ACK1次;真实慢消费者/跨节点重连仍未验收,见重连报告 |
| 真实慢消费者背压 | MySQL 8.4.10 一次性库、真实 Orbit HTTP/WebSocket;单节点 TestIntegrationEventConsumerSlowHandlerBackpressure 与双进程 TestIntegrationEventProcessSlowConsumerPeerProgress | 容量1阻塞首个处理器时第二条交付保留在服务端;对等节点仍可推进,释放后2次处理/2次ACK、每条attempts=1;连接风暴、资源曲线和生产容量仍未验收,见慢消费者报告 |
当前环境仍未覆盖
此前使用容器网络别名运行存储集成时,两组 COMMIT 故障测试曾因自身 127.0.0.1 明文连接前置条件被拒绝;本轮已改用共享网络命名空间单独复跑并通过,因此不再把它们列为未验证场景。共享网络命名空间只解决测试进程的 loopback 观察条件,不改变生产部署约束。
当前已完成仓库声明 Go 1.27.1 下的模块级门禁、MySQL 存储集成、关键 SDK/Orbit 进程故障组、24 个可运行 SDK 示例的真实服务串跑、两个独立业务模块的真实 MySQL/HTTP/进程故障集成、隔离 MySQL GTID 复制和手工提升演练,以及一个历史提交的稳定任务 API 双向 smoke;正式标签的完整 SDK/服务端跨版本矩阵仍未完成。新增长期积压和慢消费者样本见报告与慢消费者报告,仍未升级为生产容量结论。此前 Docker Go 1.25 共享网络结果作为历史对照保留,不替代 Go 1.27.1 集成回归、目标拓扑和版本兼容门禁。
历史 macOS arm64 + Go 1.27.1 + loopback MySQL 的完整切点记录见故障边界报告;该记录与本轮 Go 1.27.1 模块门禁互相独立,仍不能替代声明工具链下的无过滤 MySQL 集成复跑。
结论
本轮证明新增无外键空库基线、运维快照和协议门禁没有破坏现有服务端/SDK单元与真实 MySQL 存储行为。P7 仍未完成跨标签 SDK/服务端矩阵、宿主机进程全链路回归、目标拓扑容量、复制切换、RPO/RTO和生产发布审批。