Consensus algorithms at scale: Part 4 - Establishment and revocation
Apr 6, 2022Sugu Sougoumarane

Summary
This post introduces the separation of leadership establishment and revocation as distinct concerns in consensus algorithms. It explains how traditional algorithms conflate these actions and proposes analyzing them individually. The post details how proposal numbers are used in traditional algorithms for establishment and revocation, and then explores alternatives like using replication mechanisms (e.g., MySQL semi-sync) when proposal numbers are not used. It also discusses the importance of knowing the current leader and the concept of direct leader demotion, using Vitess's PlannedReparentShard and EmergencyReparentShard as examples. The interchangeability of different revocation approaches is also discussed.