Kafka Error INVALID_REGISTRATION
Error code 119 · Non-retriable KRaft
The controller has considered the broker registration to be invalid.
Common Causes
- A broker attempted to register with the KRaft controller using a `BrokerRegistration` request containing mismatched or invalid metadata — e.g., the broker's cluster ID doesn't match the controller's cluster ID (common after data directory corruption or copy from another cluster).
- The broker's `broker.id` is already registered with a different incarnation UUID (the broker was re-imaged or its data directory was wiped without proper deregistration), causing the controller to reject the new registration as invalid.
- Feature version incompatibility: the broker is registering with a supported feature set that conflicts with the controller's current finalized feature versions (e.g., broker is too old or too new relative to the controller's metadata version).
Solutions
- Check and align the cluster ID: run `kafka-storage.sh info` on both broker and controller data directories and confirm the cluster ID matches. If it doesn't, the broker's data directory must be reformatted with `kafka-storage.sh format` using the correct cluster ID.
- If the broker was re-imaged, ensure the `meta.properties` file in the broker's `log.dirs` contains the correct cluster ID and a new unique incarnation UUID. Delete and reformat if corrupted.
- Verify feature compatibility: ensure all brokers are within the supported version range for the active metadata version. Use `kafka-features.sh describe` to check finalized versions and compare with broker supported versions.
Diagnostic Commands
# Inspect broker storage metadata and cluster ID
kafka-storage.sh info -c /path/to/server.properties
# Look for cluster ID errors in logs
grep 'INVALID_REGISTRATION\|BrokerRegistration\|cluster.id\|incarnation' /var/log/kafka/server.log | tail -50Related APIs
This error can be returned by: BrokerRegistration · ControllerRegistration
Debugging Kafka errors? Conduktor Console gives you real-time visibility into your cluster. Explore all errors in the Error Decoder.