↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

数据校验和状态切换补丁暴露并发问题 RSS

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

发布于 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