Hacker News new | past | comments | ask | show | jobs | submit login

One of the things that surprised me about this analysis was just how many bugs we found that had to do with the actual Raft implementation. Usually when I test Raft-based systems the bugs are at the edges--like the coupling of the system to the Raft library, treating it like an externally-queryable log rather than the driver of a state machine, and so on. We found integration bugs here too, but also a fair number of issues in the Raft library itself--and this is despite Redis-Raft having existing integration tests!

This stuff is hard!




Has anyone approached Jepsen about running an analysis on the Erlang Ra implementation? I believe they've been running Jepsen tests internally, just curious if they're thinking about getting an official analysis at some point. Thanks for all that you folks do!! * https://github.com/rabbitmq/ra


No, we haven't talked yet, but I would like to someday. :)


Would love for Jepsen to take a stab at Erlang’s Mnesia database as well!


Not really worth it since distributed mnesia is basically CA (in terms of CAP) which shouldn't be a thing, but is in the case of mnesia :)


Was the C Raft implementation in use a pre-existing library, or was it developed specifically for Redis-Raft?


Pre-existing! It's a fork of willamt's https://github.com/willemt/raft/, which has been around since 2013, and has property-based fuzz testing! It really does look like it's got its own extensive tests; I'm surprised we found issues.


this is kind of terrifying




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: