- Replicated state machine
- A collection of servers computing identical copies of the same state by executing the same deterministic command sequence from a replicated log, so the group survives the failure of some members. Raft's entire job is keeping those logs identical.
- Term
- An arbitrary-length period numbered with consecutive integers, beginning with an election and containing at most one leader; some terms end with no leader because the vote split. Terms act as Raft's logical clock, letting servers detect stale leaders and obsolete information.
- Committed entry
- A log entry that the leader which created it has replicated on a majority of servers, making it durable and guaranteed to be executed eventually by every available state machine. Committing an entry also commits all preceding entries in the leader's log.
- Log Matching Property
- If two logs contain an entry with the same index and term, they store the same command there and are identical in every preceding entry. It is maintained by the AppendEntries consistency check, which carries the index and term of the entry immediately preceding the new ones.
- Leader Completeness Property
- If a log entry is committed in a given term, it is present in the logs of the leaders of all higher-numbered terms. It is what allows entries to flow only from leader to follower, and it is enforced by the election restriction rather than by any recovery protocol.
- State Machine Safety Property
- If a server has applied a log entry at a given index to its state machine, no other server will ever apply a different entry at that same index. This is Raft's top-level correctness goal, derived from Leader Completeness plus the rule that entries are applied in index order.
- Up-to-date
- The comparison a voter applies in RequestVote: of two logs, the one whose last entry has the later term is more up-to-date, and if the last terms are equal the longer log is more up-to-date. A voter denies its vote to any candidate whose log is less up-to-date than its own.
- Joint consensus (Cold,new)
- The transitional configuration in which entries replicate to servers of both the old and the new configuration, servers from either may serve as leader, and every election and every commitment requires separate majorities from both. It is written into the log as an ordinary entry and takes effect the moment a server appends it.
- Last included index and term
- The snapshot metadata naming the final log entry the snapshot replaces and that entry's term. They position the snapshot in the log so the AppendEntries consistency check still has a predecessor to match for the first entry following the snapshot.