conduktor.io ↗

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

AuthorKevin Wu
StatusAccepted
Kafka Version4.2
JIRAKAFKA-19400
WikiView on Apache Wiki
Created2025-06-11
Last Modified2025-11-25
Explore how this KIP affects the Kafka protocol in the Protocol Explorer, or see the full KIP database.