This commit is contained in:
parent
5e7b57d754
commit
aa78d3e731
@ -32,7 +32,7 @@
|
||||
- [✓] 修复自动 DNS 证书加载与导出遗漏根域名校验,保留整改前云端失败反例;新候选的证书专项与三库回归通过。
|
||||
- [✓] SQLite 同引擎及双 SQL 同引擎、跨引擎切库后的真实进程重启与目标不可用恢复;分阶段证据见后文。
|
||||
- [✓] 涉及 SQLite 的四个跨引擎应用级方向分阶段通过;不同候选与资源配置的证据不合并为最终候选统一矩阵。
|
||||
- [ ] SQL 中断及 SQLite 提交/配置切换临界点恢复。
|
||||
- [✓] MySQL、PostgreSQL 的 SQL 提交与配置切换临界点恢复;SQLite 相关中断项仍按独立专项记录,不与 SQL 联合故障结果合并。
|
||||
- [ ] 最新候选浏览器初始化、账号恢复及完整用户操作闭环。
|
||||
- [!] Windows 提权本地通道验收需要管理员会话,当前终端未提权。
|
||||
- [!] 生产 DNS 自动续期需要安全注入有效且已轮换的最小权限凭据,当前为手动托管证书。
|
||||
@ -375,7 +375,7 @@ PostgreSQL → SQLite 两次在初始化恢复码生成时发生 30 秒 HTTP 读
|
||||
|
||||
22:56 独立复核 40 份实机证据、两份程序及两组八个工具的远端摘要一致,709 份构建输入(含 619 份 Go 源文件)未漂移;六个测试账号锁定,PostgreSQL 建库权限撤销,测试库连接及本轮测试进程归零。正式六服务和程序未变,用户原全项目报告没有编辑或暂存。本项复审通过,但未替换正式部署。
|
||||
|
||||
事务提交和配置切换临界点、跨引擎复制中断及最终完整发行候选统一验收仍未关闭;其他生产门禁维持原状态,不将本轮双 SQL 结果扩展为整体生产放行。
|
||||
跨引擎复制中断和最终完整发行候选统一验收仍未关闭;本轮双 SQL 结果已覆盖 MySQL、PostgreSQL 的提交与配置切换临界点,但不扩展为整体生产放行。
|
||||
|
||||
### 9 月 21 日晚启动的配置事务崩溃恢复补充
|
||||
|
||||
@ -388,3 +388,29 @@ PostgreSQL → SQLite 两次在初始化恢复码生成时发生 30 秒 HTTP 读
|
||||
最新后端候选 `89e115d94ef2f12fd2ab082888f22517460e87cbe9e1b5a98d32f55ae38426b8` 在 `20260921-235814` 隔离实例完成 SQLite 正常迁移、内部与进程重启、目标库故障失败关闭及恢复后的邮件正文和附件验证。最终活动库为 `migrated.db`,业务与配置历史同库,源库及占用目标仅作为离线证据保留。前端及插件资源复用,不宣称完整发行包重构建,也未替换正式部署。
|
||||
|
||||
独立复核 21 份远端程序、工具与日志文件摘要一致、710 份构建输入未漂移,六个已核查测试单元均停止,隔离应用活动事务和暂存区为空。正式六服务及程序、用户原全项目报告未变。本轮专项范围复审通过;完整应用 SQL 提交与配置切换联合故障点、恢复过程再次中断、最终统一发行候选及其他生产门禁继续未关闭。
|
||||
|
||||
### MySQL、PostgreSQL SQL 提交与配置切换联合故障补充
|
||||
|
||||
本节记录工作区现有的四份联合故障结果,不覆盖或改写用户原有的 `docs/云端全项目测试报告.md`。测试使用同一份隔离候选主程序,SHA-256 为 `0daae897a5272f53ff78c23ef47f043e5ec18e6795424a271bb568fe159de223`;正式 `/opt/smail` 实例未替换、未重启、未清库,同机其他服务未停止。
|
||||
|
||||
| 数据库 | 故障边界 | 结果文件 | 结果 |
|
||||
| --- | --- | --- | --- |
|
||||
| MySQL | 根配置原子替换前 | `test-log/production-remediation-20260921/switch-fault-result-20260922-010951.json` | 通过 |
|
||||
| MySQL | 根配置原子替换后 | `test-log/production-remediation-20260921/switch-fault-result-20260922-012102.json` | 通过 |
|
||||
| PostgreSQL | 根配置原子替换前 | `test-log/production-remediation-20260921/switch-fault-result-20260922-013137.json` | 通过 |
|
||||
| PostgreSQL | 根配置原子替换后 | `test-log/production-remediation-20260921/switch-fault-result-20260922-013651.json` | 通过 |
|
||||
|
||||
四份结果共同确认:
|
||||
|
||||
- SQL 目标库可见完整已提交邮件数据,配置历史已提交且摘要一致,事务清单的 `sections_committed` 阶段和根配置替换边界均被真实观测。
|
||||
- 只有在应用线程全部停止后才终止隔离进程;强制终止后,正式配置管理器可自动恢复,历史邮件、新邮件、正文、附件以及再次进程重启均可读取或通过。
|
||||
- 源库内容未变化,源库连接归零,目标库成为唯一活动数据库;完整性结果为 `sqlite_files: 0`,配置记录为 1,清理错误和资源错误均为空。
|
||||
- PostgreSQL 临时建库权限已撤销,随机测试数据库账号已锁定;正式服务的 `ActiveState`、`MainPID`、`InvocationID` 和 `NRestarts` 在结果证据中保持不变。
|
||||
|
||||
此前修复前捕获的失败结果 `switch-fault-result-20260922-003538.json` 保留为真实反例:它记录了原子写临时文件误判导致的启动恢复阻断,不能改写为通过,也不计入四个通过场景。
|
||||
|
||||
上述四个结果只关闭 SQL 提交与配置切换联合故障专项,不等同于最终生产放行。浏览器完整验收、外部邮件投递与恢复邮件、插件调用及密钥边界、Windows 提权本地 IPC、自动续期与换证、容量长稳、异机灾备、真实公网 DNS/泛域名证书及最终统一发行候选仍未关闭。
|
||||
|
||||
本次继续执行期间尝试再次进行云端只读收尾复核,但 SSH 返回 `Authentication failed`;未使用不安全的主机密钥或 TLS 绕过,也未对云端执行任何变更。因此本节引用的是已保存的隔离结果和既有收尾证据,不能把本次失败的即时连接尝试表述为新的云端复核通过。
|
||||
|
||||
结果文件名含 `20260922`,而当前会话适用日期为 2026 年 9 月 21 日;本节仅如实登记工作区现有文件内容,不据此伪造本会话的执行时间线。日期一致后仍应使用严格 SSH 凭据重新执行只读收尾复核。
|
||||
|
||||
Loading…
Reference in New Issue
Block a user