1.9 KiB
1.9 KiB
P1 稳定性与历史归档定向回归
这份报告定义当前代码的可复现入口,命令成功才算目标环境完成验证。它不把本机测试结果当作生产容量承诺。
ORBIT_TEST_MYSQL_DSN='root:...@tcp(127.0.0.1:3306)/orbit_test' \
ORBIT_TEST_SERVER_BINARY="$PWD/bin/orbit" \
ORBIT_TEST_WORKER_URL='http://127.0.0.1:8080' \
ORBIT_TEST_WORKER_CREDENTIALS_FILE="$PWD/.local/worker.credentials.json" \
make stability-check
入口覆盖:
TestIntegrationEventProcessCrossNodeReconnectStorm:在两个独立 Orbit 进程之间反复切换 WebSocket 上游,验证重连风暴期间一次处理、一次确认和一次持久交付尝试。TestIntegrationEventProcessSlowConsumerPeerProgress:节点 A 的容量 1 处理器阻塞时,节点 B 仍可推进自己的交付,确认慢消费者隔离。TestIntegrationWithTxRetriesPreCommitDeadlock:两个真实 MySQL 事务反向加锁,使用数据库锁竞争和事务重试指标确认提交前死锁被有界恢复。TestIntegrationFairDispatchApplicationIsolation与TestIntegrationWorkflowVersionAndRaces:真实锁等待和多节点竞争路径,不使用固定 sleep 推断锁结果。TestIntegrationRetentionDiskGrowthAndPreview:写入带终态时间的有界任务样本,读取information_schema.TABLES的数据/索引字节增长,并核对保留策略预览只返回安全候选。
保留策略由数据库按命名空间保存,默认关闭归档。控制台单管理员通过“保留策略”页面修改窗口,要求版本、幂等键和原因;审计记录保留前后快照。导出是固定表目录的只读 JSON 快照,带 SHA-256 和策略版本,源数据仍保留。未确认交付、未知效果、未结束任务/流程、未处理 Inbox 和有效幂等记录不会成为普通归档候选。最终删除执行器、归档介质和目标拓扑 RPO/RTO 需要单独验收。