持续追踪

Jepsen 检查 ParticleDB:测试通过之前,先确认它会失败

按时间保留当时的判断和后续核查;历史收录不代表刚刚重新验证。

2026-11-02 · 当时的记录

ParticleDB 把 SQL、键值与向量能力放进一个面向 AI 工作流的数据库,并提供兼容 PostgreSQL 的接口。Jepsen 受 Orkes 委托检查它,公开报告覆盖从 1.1.4 到 1.1.18.11.rc-22 的多个构建;由于未获得可测试的复制版本,这次是单节点检查。报告中的问题不能一概解释成分布式网络故障。

测试包括事务操作,以及把生成的 SQL 分别交给 ParticleDB 和 PostgreSQL 比较。发现差异后,再缩小输入,寻找更容易解释的失败案例。作者报告,正常运行、单个客户端的基本操作也出现约束和事务语义错误,已提交写入可能丢失。随机查询比较同样有局限:两种实现允许存在语义差异,而不断缩小一个轻微差异,也可能耗尽发现更严重问题的时间。

分析的另一重点是开发过程。文档提到形式化验证,但协作期间没有向 Jepsen 提供相应规格;一些宣称已修复的问题仍会出现,开发者也未能解释不少修补为何有效。作者因此建议检查测试是否真的能在功能缺失或损坏时失败,再看修复后是否通过,而非只积累通过记录。

版本边界需要留下:厂商称问题已在 1.1.19-rc.13 修复,Jepsen 明确没有测试该后续版本。报告支持对已测版本和测试流程的具体批评,不证明所有后续版本仍有同样缺陷,也没有通过对照实验确定这些错误都是 AI 编程造成的。

本次记录的观点:nikez96 · crote

回到当期正文 ↗

查看依据原文 · 原始依据 · 原始依据 · 原始依据 · 原始依据