Enum Class RaftState
- All Implemented Interfaces:
Serializable, Comparable<RaftState>, Constable
The possible states a Raft node can be in.
Transitions:
- LEARNER ──(promoted via config change)──> FOLLOWER
- FOLLOWER ──(election timeout)──> CANDIDATE
- CANDIDATE ──(wins majority)──> LEADER
- CANDIDATE ──(discovers higher term)──> FOLLOWER
- LEADER ──(discovers higher term)──> FOLLOWER
Learners receive log replication from the leader but do NOT:
- Participate in elections (cannot become CANDIDATE)
- Count toward quorum decisions (commitIndex advancement)
Learners are used for:
- Safe cluster scaling (add learner first, then promote to voter)
- Read replicas (serve stale reads from learners)
- Observation nodes (monitoring without affecting consensus)
- Since:
- 1.0
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class Enum
Enum.EnumDesc<E> -
Enum Constant Summary
Enum Constants -
Method Summary
-
Enum Constant Details
-
LEARNER
-
FOLLOWER
-
CANDIDATE
-
LEADER
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-