Kafka Error VOTER_NOT_FOUND
Error code 127 · Non-retriable KRaft
The voter is not part of the set of voters.
Common Causes
- A `RemoveRaftVoter` request specified a voter ID that is not in the current KRaft quorum voter set — either the voter was already removed, never added, or the wrong voter ID was specified.
- Controller ID mismatch: the voter ID in the removal request doesn't correspond to any registered controller in the quorum's current membership.
- Attempting to remove a voter from a KRaft controller that is not the active controller, resulting in the request being evaluated against incomplete membership state.
Solutions
- Verify the voter set before attempting removal: run `kafka-metadata-quorum.sh --bootstrap-server localhost:9092 describe --replication` and confirm the voter ID you are trying to remove is listed as an active voter.
- Ensure `RemoveRaftVoter` requests are sent to the active controller. Use `kafka-metadata-quorum.sh --bootstrap-server localhost:9092 describe --status` to identify the current active controller before issuing the request.
- Make voter removal scripts idempotent: handle `VOTER_NOT_FOUND` as a success condition in automation, since it means the desired end state (voter not in quorum) has already been achieved.
Diagnostic Commands
# Check KRaft metadata quorum status
kafka-metadata-quorum.sh --bootstrap-server localhost:9092 --command-config admin.properties describe --replication
# Look for voter events in controller logs
grep 'VOTER_NOT_FOUND\|RemoveRaftVoter\|voter set' /var/log/kafka/controller.log | tail -30Related APIs
This error can be returned by: RemoveRaftVoter · UpdateRaftVoter
Debugging Kafka errors? Conduktor Console gives you real-time visibility into your cluster. Explore all errors in the Error Decoder.