State machine safety guarantees that no two processes apply different log entries at the same index to their application state machines. Once an entry is committed, it is never lost or overwritten. section 10.6.5
Raft protects this property through leader election: only a candidate with the most up-to-date log may lead. A log is newer when its final term is later, or when terms match and it is longer. Therefore, an entry replicated to a quorum must appear in every future leader’s log. section 10.6.1 section 10.6.5
Committed versus uncommitted requests
A leader may accept request 9 without replicating it; if the leader fails, request 9 can disappear without violating state machine safety because it was not committed. If another node has acknowledged the request, however, a future leader must preserve it because the acknowledgment cannot reveal whether commitment occurred before the failure. section 10.7.2 section 10.7.3
Figure 10.3 Raft’s log abstraction
Visualizes Raft’s log abstraction and the handoff from committed platform-level log entries to application-level state machines. section 10.6.1
