KIP-1186 — Update AddRaftVoterRequest RPC to support auto-join
Accepted Kafka 4.2 KRaft
Fixes a deadlock in AddRaftVoterRequest handling by allowing the in-flight voter-add RPC to be superseded by new Fetch RPCs when the adding controller is also needed to commit the voter set change. The existing implementation required the controller being added to send a Fetch to commit the new voter set, but that controller's single in-flight slot was occupied by the pending AddRaftVoterRequest, causing the quorum leader to resign via checkQuorumTimer expiry.
Protocol Impact
Fetch · AddRaftVoter · RemoveRaftVoter
Details
| Author | Kevin Wu |
| Status | Accepted |
| Kafka Version | 4.2 |
| JIRA | KAFKA-19400 |
| Wiki | View on Apache Wiki |
| Created | 2025-06-11 |
| Last Modified | 2025-11-25 |
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.