Journal / 2026 / 科技

Jepsen 测 ParticleDB:96 个问题与厂商的修复说法

2026 年 10 月 31 日,Jepsen 发布 ParticleDB 1.1.4 分析:测试版本 1.1.4 到 1.1.18.11.rc-22,报告 96 个问题,多数在单机、无故障下出现。厂商 Orkes 称 1.1.19 已全部解决。本文分开列出双方说法与可核对版本。

Jepsen 测 ParticleDB:96 个问题与厂商的修复说法
封面 取自本文正文首图,点击可放大
目录 · 1253 字 / 3 分钟

2026 年 10 月 31 日,Jepsen 发布了对 ParticleDB 1.1.4 的分析。第二天前后,厂商 Orkes 在官方博客里说,问题已在 1.1.19 全部解决。这两句话放在一起看,才是这件事的全貌。

发生了什么

  • Jepsen 测的版本区间是 1.1.4 到 1.1.18.11.rc-22,报告了 96 个问题。
  • 问题跨度很大:崩溃、死锁、数据丢失,也有更奇特的——查不到也删不掉的「半可见行」、被删的表以扭曲形式重新出现、列错位、字符串变成整数。
  • 关键的一点:多数问题只需要单台服务器、单个客户端、不注入任何故障。
  • 到 1.1.18.11.rc-22 为止,只剩十个问题未解决;但报告指出,在默认 occ 事务模式下仍会丢失已提交写入,在 serializable 这个最强设置下仍出现内部异常与 Lost Update。
  • 报告还提到,ParticleDB 首页曾宣传「形式化证明」(TLA+),但在合作期间并没有可用的 TLA+ 规约。

这是一次厂商出资的独立测试:Jepsen 明说研究由 Orkes 资助,并按自己的伦理政策开展。报告只覆盖单机行为——Orkes 提供的构建不支持复制。

厂商怎么说

Orkes 的官方博客(10 月 30 日)承认 Jepsen 测了 1.1.4 到 1.1.18.11.rc-22、发现 96 个问题,并称「截至 ParticleDB 1.1.19,所有已识别问题都已处理」。Jepsen 的报告里也记录了厂商的说法:Orkes 已发布 1.1.19-rc.13,并声称它解决了报告中其余的每个问题。

官方文档页给出的当前版本是 1.1.19-rc.16,发布日期 2026-10-30。

为什么重要

  • 单机、无故障就能触发的正确性缺陷,是最难用「高可用架构」绕开的一类。 复制、故障转移都帮不上。
  • 「Full ACID」这类宣传语,需要第三方实测背书。 Jepsen 的原话是,这些说法「下得有点早」。
  • 厂商修复声明不等于第三方验证。 报告测到的最后一个版本是 1.1.18.11.rc-22,厂商的修复声明针对 1.1.19;两者之间没有第三方复测。文档页的 rc.16 比报告提到的 rc.13 更新,但同样没有独立复测结论。

怎么用

  • 先看版本:particledb --version,对照官方文档页的当前版本。
  • 别把宣传语当承诺:在选型清单里,把「ACID」拆成你真正依赖的那几条(提交后不丢、并发下的隔离级别、崩溃恢复)。
  • 自己跑一遍:拿你真实的工作负载,在你要用的隔离级别下测写入丢失与并发异常,而不是只跑 demo。
  • 给状态兜底:如果它承载 agent 的可恢复状态,保留幂等写入与外部备份。

还没验证的部分

  • 本文没有复现:结论全部来自 Jepsen 报告与厂商的公开说法。
  • 1.1.19-rc.13 与文档页的 1.1.19-rc.16 是否都能修复全部问题:没有第三方结论。
  • 复制(Raft)行为:报告未覆盖,因为当时提供的构建不支持复制。
  • TLA+ 规约:报告称合作期间不可用;后来是否公开,本文没有核对。
  • 性能对比:报告与厂商各有一套说法,本文不给数字。

参考来源

本文基于以下公开报道整理:


本文由 AI 辅助整理,事实与引文来自 Jepsen 报告摘要、厂商官方博客与文档页的公开文本,未做复现测试,配图为本地生成的信息图。

§

所属主题

Topics

主题只是把现有标签归并后的浏览方式,标签本身不变;全部标签 · 画廊

← 全部文章