Files
PlantAI-rag-new/tests/docgen/run_failover.md
T
jerryandClaude Fable 5 5888e1d5c1 test(docgen): 测试治理资产——131 条验收用例 + 三轮留痕 + E2E/回归套件
- tests/docgen/:DC-UNIT/API/CONF/E2E/UI/REGRESSION/PERF 分组用例与可复跑脚本,报告逐条留痕(R1-R3 全记录)
- 意图 30 条前后端同表双跑(pytest + node)
- Playwright headless:docgen-ui/docgen-regression spec + b3 benchpanel 第 5 TAB 断言更新

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-03 21:13:47 +08:00

45 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# DC-FAILOVER —— vstore 宕机 BFF 兜底演练 runbook(受控)
> 对应用例:DC-FAILOVER-01~03(test_case_report.md §3.13)。
> **只有 TL 在场并明确指令时执行**。演练对象是 TL 启动的 dev 实例(非生产端口),
> 严禁触碰生产 8090/8091/5180 与运行中的生产进程。
## 前置
1. TL 已启动:dev BFF(非生产端口,指向 vstore)与受控 vstore 实例(加密落盘开启)。
2. 记录端口:BFF=____,vstore=____,vault 目录=____(写入轮次记录环境栏)。
3. 测试 agent 确认有 vstore 进程的启停权限与命令(vstore 启动脚本 deploy/vstore_restart.sh,由 dev1 交付)。
## 演练步骤(按序执行,逐条留痕到 test_case_report.md 实测列)
### DC-FAILOVER-01 入库链路宕机
1. `curl http://BFF/api/health` 记录基线(应 200)。
2. 停止 vstore 进程(记录停的方式与 PID)。
3. `curl -F "file=@样例.docx" http://BFF/api/docgen/library`。
- 检查点:返回错误信封 `{"ok":false,"error":{...}}`(HTTP 5xx 或 4xx,按契约);**不得**出现 200 假成功。
- 检查点:`curl http://BFF/api/health` 仍 200(BFF 不崩)。
4. 留痕:状态码、错误 code、BFF health 状态。
### DC-FAILOVER-02 生成链路宕机
1. vstore 保持宕机。
2. `curl -X POST http://BFF/api/docgen/generate -H 'Content-Type: application/json' -d '{"description":"帮我写一份年度工作总结","session_id":"failover-1","library_ids":[]}'`。
- 检查点:检索失败 → 空模版集合,生成跳过模版,不中断(artifact 正常 done,template_name 为空)。
- 检查点:若指定了已入库 library_ids,document 拉取失败 → 该资料缺失占位提示出现在 md 中("资料缺失"字样),不阻断生成。
- 检查点:若 LLM 亦不可用,生成返回错误信封(不属于 vstore 兜底断言,单独记录)。
3. 留痕:artifact status、md 中占位提示、耗时。
### DC-FAILOVER-03 恢复
1. 重启 vstore(记录启动命令与日志路径)。
2. 再次执行 DC-FAILOVER-01 的入库请求 → 应成功(功能自动恢复,无人工干预)。
3. 保密断言复验:
- `ls -1 <vault>` → 仅 `.enc` 与 `index.json`;
- `grep -r <样例明文标志串> <vault>` → 无命中。
4. 留痕:恢复后入库结果、ls 结果、grep 结果。
## 回填要求
演练结束后,在 test_case_report.md 中 DC-FAILOVER-01~03 三行的实测列各追加本轮留痕(格式 `R1: 状态码/现象/结论`),并在轮次记录区填写结束汇总。任何与契约不一致的偏差(如错误码不同)记入 FAIL 明细并同步 TL。