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.
Cite
@article{arxiv.2109.11987,
title = {Formal Verification of a Distributed Dynamic Reconfiguration Protocol},
author = {William Schultz and Ian Dardik and Stavros Tripakis},
journal= {arXiv preprint arXiv:2109.11987},
year = {2022}
}