Consensus algorithms at scale: Part 6 - Completing requests
Jun 21, 2022Sugu Sougoumarane

Summary
This post introduces a two-phase protocol for completing requests in consensus systems, distinguishing between tentative, durable, and complete request states. It details how leaders transmit requests and followers acknowledge them to achieve durability, and discusses the trade-offs in timing client responses. The post also points out limitations in MySQL's semi-sync protocol and potential issues with primary restarts after crashes.