发布于 2026-09-10T10:59:41.585246Z · Tomas Vondra · pgsql-hackers

Tomas Vondra 继续审查数据校验和状态变更补丁,发现几处并发问题。备库提升过程中状态从 inprogress-on 退回 off 时,已有后端没有通过 EmitProcSignalBarrier() 收到通知,新旧连接看到的状态因此不一致。测试 012 的不确定行为则来自校验和启动器与检查点进程之间的竞态,两者交错顺序不同,最终状态就不同。他做了个用 LWLock 防竞态的原型,但不确定是否正确。
Tomas Vondra 继续审查数据校验和状态变更补丁,发现几处并发问题。备库提升过程中状态从 inprogress-on 退回 off 时,已有后端没有通过 EmitProcSignalBarrier() 收到通知,新旧连接看到的状态因此不一致。测试 012 的不确定行为则来自校验和启动器与检查点进程之间的竞态,两者交错顺序不同,最终状态就不同。他做了个用 LWLock 防竞态的原型,但不确定是否正确。
来源记录
- center.info_item · 0009c40cc61ea01e · 2026-10-03T04:08:35.169032Z
- pgweb.info_item · 0009c40cc61ea01e · 2026-10-03T04:08:55.967155Z