Formal Verification of a Distributed Dynamic Reconfiguration Protocol

William Schultz,Ian Dardik,Stavros Tripakis
DOI: https://doi.org/10.1145/3497775.3503688
2021-12-18
Abstract:We present a formal, machine checked TLA+ safety proof of MongoRaftReconfig, a distributed dynamic reconfiguration protocol. MongoRaftReconfig was designed for and implemented in MongoDB, a distributed database whose replication protocol is derived from the Raft consensus algorithm. We present an inductive invariant for MongoRaftReconfig that is formalized in TLA+ and formally proved using the TLA+ proof system (TLAPS). We also present a formal TLAPS proof of two key safety properties of MongoRaftReconfig, LeaderCompleteness and StateMachineSafety. To our knowledge, these are the first machine checked inductive invariant and safety proof of a dynamic reconfiguration protocol for a Raft based replication system.
Distributed, Parallel, and Cluster Computing
What problem does this paper attempt to address?