Candidate state is the Raft election state a controller enters when it considers the leader controller unavailable and seeks votes to become the new leader. section 9.1.3
A follower controller reaches this state after exceeding controller.quorum.fetch.timeout.ms without a leader response. It requests votes from other controllers, including replicated metadata-log information. section 9.1.3 section 9.1.3
Election progress depends on three conditions:
- Grant votes only when a controller has not voted in the current term and the candidate's log is at least as up-to-date. section 9.1.3
- Recognize the candidate that secures a majority as the new leader controller. section 9.1.3
- Synchronize previously committed metadata-log entries before the elected leader serves requests or manages updates. section 9.1.3
