Jepsen: ParticleDB 1.1.4

(jepsen.io)

53 points | by aphyr 4 hours ago

11 comments

  • edude03 1 hour ago
    > We present 96 issues in ParticleDB, ranging from the pedestrian (crashes, deadlocks, data loss, etc.) to the piquant (partially-invisible rows which could not be deleted, WHERE 4 = 5, dropped tables re-emerging in distorted forms, confused columns, strings turning into integers, and so on).

    Definitely seems worse than usual (looking back most databases seem to have <10 issues total, and the majority seem "mild") - since it's a database for AI was it also likely vibe-coded or just new? Then again even if new, I wouldn't expect so many issues in a stable release

    • cwillu 26 minutes ago
      The discussion section of the report is very damning.
    • d5wiz 16 minutes ago
      [dead]
  • the_duke 40 minutes ago
    Brutal!

    > ParticleDB 1.1.4 claimed to be a Postgres-compatible database ... Instead, we found a library of confusion

    > exhibited frequent, profound transactional anomalies in essentially every way we could measure. We routinely observed the loss of committed writes, internal consistency violations, G1a (Aborted Read), G1b (Intermediate Read), and P4 (Lost Update). In the append workload, successfully appended values would routinely disappear from later reads of a given key. Our test suite inferred every kind of cyclic anomaly including G0, G1c, G-Single, and G2-item, but many of these can be attributed to more basic issues, like write loss. These issues occurred with a single server and without faults, and affected every transaction mode, interface, and WAL mode tested

    • d5wiz 12 minutes ago
      these were tests done on pre release builds and some experimental concurrency modes as well.... The engine has since been redesigned and all of these issues have been fixed..

      Its also faster than Redis for KV, also numbers show this should be top on clickbench, official submission is in progress

      • the_duke 5 minutes ago
        I look forward to the second report from Jepsen for the new implementation then.
      • kubelsmieci 4 minutes ago
        > and all of these issues have been fixed..

        You can't be sure until they test it again

      • fabian2k 7 minutes ago
        Why should anyone believe that? I mean it might be true, I don't know. But if such a report turns out many fundamental issues it doesn't quite sound plausible that a redesign would suddenly not have any issues anymore. It might have fewer issues, it likely will have different issues as well though.
        • rat9988 3 minutes ago
          Because this is why companies pay for jepsen tests. Not because they enjoy to be destroyed in jepsen report, but to fix the issues.
          • fabian2k 2 minutes ago
            Most Jepsen tests leave me with the impression "databases are damn complicated and difficult to get right", not with the "I'll never ever touch this DB if I can help it" this particular report does.
  • mxey 13 minutes ago
    It’s wild how bad it is. Not surprising for a vibecoded database, but why did they hire Kyle for a test, instead of first doing ANY testing themselves?
  • yipinwong 5 minutes ago
    Great to implement a DB just like human memory, unstable, and untrustworthy.
  • CodesInChaos 23 minutes ago
    Since the library claims to be postgres compatible, I wonder if its developers ran the existing postgres jepsen suite against it (possibly with some adjustments). Or why not.

    Especially now, where you could probably just ask AI to adapt the existing suites to the cosnistency claims this database makes, and get something useful out of it. While certainly not as good as a professional test, I'd expect it to at least find some low hanging fruits before going for the expensive and public official Jepsen test.

    • yla92 17 minutes ago
      The company says they did. From the post

      "Orkes said they ran Jepsen’s existing Postgres test harness to find and resolve issues in ParticleDB prior to this work. However, that same test harness failed immediately when run against ParticleDB 1.1.4. Orkes also stated they tested ParticleDB with SQLancer, which generates far more complex queries than the ones we tested. It is therefore perplexing that nearly every feature we tested exhibited glaring errors, and that our findings seemed to come as a surprise."

      • mxey 12 minutes ago
        Seems to me that “we ran the Jepsen test” is just something an LLM thought would sound good on a DB’s website.
  • Powdering7082 2 hours ago
    > ParticleDB’s home page advertised that ParticleDB was “formally proven” with a TLA+ proof.

    Perhaps they meant formerly, probably just a speech to text problem

    • lumost 43 minutes ago
      TLA+ doesnt prove the code. if they never read the proof, then how do we k ow that it proved the right things?
      • hibikir 29 minutes ago
        And you still have to make sure all the real constraints are in. I had to fix a proven correct distributed algorithm that just happened to believe updates were done atomically and with no latency.
    • wavemode 33 minutes ago
      lol, reminds me of the common misreading "provably safe" / "probably safe"
  • pluto_modadic 30 minutes ago
    Aphyr does great work, Jepsen always kicks it out of the park :)
  • _bohm 29 minutes ago
    Is/was ParticleDB open source? There is a Github link on their website, however the only public repo in their org seems to be the Golang client library.
  • stacktraceyo 14 minutes ago
    Fatality
  • Thaxll 1 hour ago
    Slop DB written in Rust. They probably changed the landing page after the bad results, you can still see the old one: https://web.archive.org/web/20260518203012/https://particled...

    "Written in Rust · Formally Verified · PostgreSQL Compatible"

  • Powdering7082 2 hours ago
    -https://github.com/jepsen-io/particledb is currently 404 (probably still private?)-

    EDIT: It's up now

    • aphyr 2 hours ago
      Sorry about that--yes, it's still private. Hoping to have that resolved shortly.
    • dang 1 hour ago
      Looks like it's up now. I'll put that link in the toptext as well. Thanks!