Consensus algorithms at scale: Part 7 - Propagating requests
Jul 1, 2022Sugu Sougoumarane

Summary
This post details the challenges of propagating completed requests during leadership changes in distributed systems, especially in the presence of failures. It outlines requirements for discovering completed requests, introduces versioning of decisions (e.g., using timestamps or proposal numbers) to handle conflicting requests, and discusses anti-flapping rules to prevent rapid leadership changes. It also briefly mentions how MySQL binlogs (GTIDs) and Vitess's VTorc incorporate these principles.