Finding bugs in Raft implementations
Summary
The article argues that Raft implementations, despite formal specifications, contain bugs discovered through practical testing. It presents three concrete HashiCorp Raft bugs (async heartbeat races, leadership-transfer deadlock, and livelock during snapshot installation) and demonstrates how a simple Antithesis-based workload can reveal state-machine divergence in production-like environments.