Submit a transactional state command. The client issues an RPC to Primary (S1). S1 must replicate to a majority quorum (≥3 nodes) before replying 'OK' and committing.
1. Minority Partition
Cut S4 & S5. Majority (3/5) remains. Cluster continues committing linearizable writes.
2. Split-Brain Prevention
Isolate S1,S2 from S3,S4,S5. Old primary has only 2 nodes < 3; writes stall safely to avoid inconsistency.
3. Leader Crash & Re-election
Kill S1. Remaining nodes elect highest term node as new leader to restore liveness.
| Node | Role | Status | Log Entries (idx:term:cmd) | Commit Index | Local State |
|---|
Fault Tolerance: As Prof. Morris emphasizes, the objective is to hide failures from clients so the service behaves like a single centralized computer.
Quorum Invariant: Any two majorities in a cluster of size 2F + 1 must overlap by at least one node:
Q1 ∩ Q2 ≠ ∅
For 5 nodes, quorum is 3. A partition of 2 nodes cannot commit, preventing divergent split-brain histories.
Safety vs Liveness: In a network split, safety demands rejecting or stalling requests in the minority partition rather than risking corrupted state.