本文へスキップ
MameTechNews
バックエンド

Jepsen、ParticleDBに96件の不具合 新規導入の停止を勧告

## POINTS

  • 96件の大半は障害なしの単一ノードで起き、既定のoccは通常運転でもコミット済みの書き込みを失った。
  • 1.1.19-rc.13で修正済みという主張はOrkes側のもので、Jepsenはその版を試験していない。
  • Jepsenは新規導入の停止と他データベースへの移行、信頼できる情報源からのデータ再構築を勧めている。

Kyle Kingsbury氏は10月31日、Orkesの資金提供を受け、Jepsenの倫理方針に沿ってParticleDBを試験したと報告した。対象は1.1.4から1.1.18.11.rc-22までで、Debian 13の単一ノード、コンテナとEC2の両方だ。プロセス停止、未fsyncの書き込み消失、ディスクの切り詰めや破損も模擬している。見つかった96件のうち3件を除き、正常な単一サーバー、単一クライアント、障害なしで再現した。

内容はクラッシュやデッドロックだけではない。WHERE 4 = 5が主キー5の行を返し、削除したテーブルの行が形を変えて戻り、文字列が8ビット整数になり、主キーが重複またはNULLになる、といった結果が含まれる。1.1.4から1.1.18.9では、試したトランザクションモードとWALモードのすべてで、書き込み消失やLost Updateなどの異常が出た。試験終盤の1.1.18.11.rc-22でも、既定のoccは通常運転でコミット済み書き込みを失い、最も強いserializableも通常時の古い読み取りと、プロセス停止時のLost Updateを許した。

Orkesは1.1.19-rc.13で報告済みの問題を直したと主張し、文書上のトランザクションモードも作り直している。Jepsenは1.1.18.11.rc-22より後を評価しておらず、不在の証明はできないと明記している。2026年5月から7月に配布ページが案内した版は、通常運転で深刻な安全性の誤りがあった。Jepsenは新規導入を止め、可能なら信頼性の高い情報源からデータを作り直すよう勧めている。AIワークロード向けという説明だけで採用しないことと、ACIDの記述を試験結果と照合することが、この報告の実務上の要点だ。