Jepsen Found 96 Issues in ParticleDB 1.1.4 and Tells Users to Halt Deployment
Software / news
Jepsen Found 96 Issues in ParticleDB 1.1.4 and Tells Users to Halt Deployment
Kyle Kingsbury’s 31 October report, funded by vendor Orkes, finds lost writes and ignored constraints in healthy single-node runs.
Jepsen, the database testing outfit run by Kyle Kingsbury, has told users to "halt further deployment of ParticleDB and migrate to other databases as soon as possible". Its report, dated 31 October 2026 and covering versions 1.1.4 through 1.1.18.11.rc-22, lists 96 issues in a distributed SQL database sold by Orkes, which paid for the work.
Orkes' own home page, read the same day, now says ParticleDB offers "ACID transactions" and points to release candidate 1.1.19-rc.16. It does not mention Jepsen.
What Jepsen found in single-node tests
The report tested single nodes only, on Debian 13 in containers and on EC2. Replication was not tested. Most of the 96 issues showed up in healthy runs, and only three (numbered #107, #108 and #112 in Jepsen's tracker) needed injected faults.
| Area | Example from the report |
|---|---|
| Predicates | WHERE 4 = 5 matched the row with primary key 5 (#18) |
| Constraints | NOT NULL (#8) and UNIQUE (#9) were ignored |
| Transactions | A nested BEGIN destroyed the enclosing transaction (#44) |
| Lost writes | 31 of about 20,000 keys lost acknowledged writes in default occ-v3 mode (#110) |
| Faults | A WAL bitflip erased 44 acknowledged elements and the server started anyway (#108) |
Shuffling 13 four-kilobyte chunks erased all tables (#112). Under strict-serializable, stale reads appeared about once per 300,000 transactions (#109). Aborted transactions could commit (#43), and primary keys could become NULL (#57).
Claims against findings
Jepsen says the home page it tested advertised "Full ACID" while the text beneath it said snapshot isolation, which is weaker. The page also said the system was "formally proven" with TLA+, and Jepsen reports that no specification was available. Documentation called the occ mode "safe under concurrency" and "Jepsen-safe", yet the mode showed G-single anomalies and lost writes. The table-2pl mode, described as the strictest, showed read skew (#106).
The site also claimed speed "a thousand times faster" and client libraries in thirteen languages. Jepsen did not reproduce a "1087x faster" claim and saw throughput decline over an hour. That is a vendor-supplied figure Jepsen could not confirm.
The current ParticleDB home page carries no performance figures, no TLA+ mention and no isolation level. Whether those lines were edited, moved or removed cannot be determined from the two pages alone.
Orkes' account and the open items
Orkes told Jepsen that versions 1.1.4 through 1.1.18.11.rc-18 were publicly available from May through July 2026. It believes the problems came from a spring 2026 refactor, and that customers on 1.0.0 were likely unaffected. Jepsen briefly tested an internal 1.0.0 build and found it less affected.
By rc-22, Jepsen counts all but ten issues as resolved. Orkes says 1.1.19-rc.13 fixes the rest, and Jepsen has not tested any build after rc-22. The --txn-mode flag was removed, and the documentation now calls the earlier modes "experimental", wording Jepsen says the old docs lacked. The report's release history labels 1.1.4 through rc-22 "unsupported pre-release builds", though the install docs once described them for production.
Jepsen also reports that Orkes said it ran Jepsen's Postgres harness and SQLancer before release. The harness failed immediately on 1.1.4. The report's own guess at the cause: "Perhaps engineers entrusted Large Language Models with the work of testing." It adds that LLM tooling repeatedly reported fixes that did not exist. The report's verdict is "Quality suffered: ParticleDB was a fractal of correctness errors."
What users are told to do
Jepsen recommends checking or rebuilding database state from more reliable sources where possible, and treating Orkes' claims about 1.1.19-rc.13 as unverified until tested. Its own caveat is that it can "prove the presence of bugs, but not their absence".
The same gap between a vendor's number and an independent run appeared in Lightpanda's 9x speed claim, and sanstun's unaudited release shows how little a launch page may say about testing. For ParticleDB, the next check is whether anyone runs Jepsen's workloads against 1.1.19-rc.13 or the rc.16 that Orkes now links.
Sources
More in Software
- 01Python 3.15 Ships a Built-In sentinel After Five Years of PEP 661The new type replaces the object() idiom with a one-line constructor that survives copying, pickling and type checking, but a Python 3.15 floor is the price of using it.
- 02Lightpanda 1.0 Passes 80% of Chrome's Web Tests, by Its Own CountThe Zig-built headless browser left beta on Oct. 2, and its own benchmarks put it ahead of two Rust rivals on a 940-page crawl, with no hardware listed.
- 03Claude-Mem Hits 107,900 Stars, and Its Own Pages Disagree on LicenceThe Claude Code memory plugin has gained about 35,500 stars since May, but a May write-up says AGPL-3.0, the repository now says Apache-2.0, and the README describes an optional cloud sync that earlier coverage did not.
- 04kube32 Runs Kubernetes Pods on ESP32-S3 Boards, and Its README Lists TLS Its Own Quick Start SkipsThe Apache 2.0 project, at 25 stars, runs WebAssembly pods under kubectl, but its SECURITY.md says the API serves plain HTTP with authentication off by default.