修正实库历史快照比较并补全本机重新核查说明
This commit is contained in:
parent
c1faebf9ef
commit
e00a757d22
@ -77,6 +77,12 @@ func seedUncertainReconciliation(t *testing.T, repo *SQLDeploymentTransactionRep
|
||||
if !errors.Is(err, deployment.ErrRecoveryActionUncertain) || source.Status != deployment.RecoveryResultUncertain {
|
||||
t.Fatalf("未形成真实执行器不确定结果:%+v %v", source, err)
|
||||
}
|
||||
// 比较实际持久化的前后快照,不能把内存纳秒与数据库时间精度差异误判为历史改写。
|
||||
persisted, err := repo.GetRecoveryDisposition(t.Context(), source.Intent.ID)
|
||||
if err != nil || !persisted.Intent.SameRequest(source.Intent) || persisted.Status != source.Status || persisted.ResultCode != source.ResultCode {
|
||||
t.Fatal("原不确定处置未可靠持久化", err)
|
||||
}
|
||||
source = persisted
|
||||
client.failClosed, client.readOnly = false, true
|
||||
client.writes = 0
|
||||
return service, client, server, record, source
|
||||
|
||||
@ -38,7 +38,7 @@ systemctl stop Scert-admin
|
||||
|
||||
## 部署事务核查与人工处置
|
||||
|
||||
主服务提供相应能力时,菜单还包含“只读核查部署事务”“人工处置部署事务”“查询人工处置结果”。
|
||||
主服务提供相应能力时,菜单还包含“只读核查部署事务”“人工处置部署事务”“查询人工处置结果”“重新核查不确定处置”。
|
||||
|
||||
- 只读核查不修改原事务、远端文件或锁。
|
||||
- 人工处置先输入事务编号,再选择“仅记录核查”“完成提交”或“恢复基线”。终端展示服务器、阶段、动作、有效期和风险,必须完整输入确认文字后才提交。
|
||||
@ -46,6 +46,14 @@ systemctl stop Scert-admin
|
||||
- 提交前保留显示的处置编号。断连、超时或响应不明确时重新启动终端,选择“查询人工处置结果”,输入处置编号而不是事务编号。
|
||||
- `running` 或 `uncertain` 不是成功。查询不会重放动作、释放占用或删除远端锁;不得手动删锁、重写历史证据或直接修改事务终态来绕过阻塞。
|
||||
|
||||
## 重新核查不确定处置
|
||||
|
||||
选择菜单 `5`,输入已经结束并持久化为 `uncertain` 的原处置编号。原动作必须是提交或回滚,且原事务处于相应的已核验阶段。系统重新绑定服务器身份、历史记录和当前现场;不接受仍为 `running` 的处置,不因超时自动接管。
|
||||
|
||||
核对原编号、新核查编号、事务、服务器及原动作方向后,完整输入终端显示的确认文字。新核查只读远端文件,确认目标摘要正确、临时文件与备份及锁全部不存在、严格 HTTPS 和最终关闭均通过;不会重载服务、删除锁或重放原动作。成功后以新审计结束原事务并释放占用,原不确定记录永久保留。
|
||||
|
||||
核查拒绝或失败继续保留占用;审计不能可靠落盘时不报告成功。断连后只能通过菜单 `4` 按新核查编号查询。证据不足或现场不满足条件时不得手动补造历史基线、删占用或修改事务终态。
|
||||
|
||||
## 安全限制说明
|
||||
|
||||
systemd 无法阻止 root 或具备等效系统权限的操作者调用 `status`、`kill`、`restart`、`mask` 等管理命令。因此,本项目的可落地安全边界是:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user