Kafka Error UNSUPPORTED_VERSION
Error code 35 · Non-retriable Admin
The version of API is not supported.
Common Causes
- Client library version is newer than the broker and uses an API version the broker does not support (common during cluster upgrades)
- Client has inter.broker.protocol.version or log.message.format.version pinned to an old value, causing brokers to advertise limited API versions
- Client connected to a non-Kafka endpoint (wrong port, load balancer stripping protocol frames) that speaks an incompatible protocol
Solutions
- During rolling upgrades, keep clients on the current version until all brokers are upgraded, then upgrade clients; follow the Kafka upgrade guide ordering
- After a full broker upgrade, remove any old inter.broker.protocol.version or log.message.format.version pins that are still limiting what the brokers advertise
- Use a client version compatible with the broker release and fix any wrong-port or non-Kafka endpoint issues in bootstrap.servers rather than trying to override API negotiation
Diagnostic Commands
# Verify broker connectivity and API versions
kafka-broker-api-versions.sh --bootstrap-server localhost:9092 2>&1 | grep -E 'Produce|Fetch|Metadata' | head -10
# Check broker protocol version settings
kafka-configs.sh --bootstrap-server localhost:9092 --entity-type brokers --entity-default --describe | grep -E 'inter.broker.protocol|log.message.format'Related APIs
This error can be returned by: AddOffsetsToTxn · AddPartitionsToTxn · AlterShareGroupOffsets · ApiVersions · ConsumerGroupDescribe · ConsumerGroupHeartbeat · DeleteShareGroupOffsets · DescribeShareGroupOffsets · EndTxn · GetTelemetrySubscriptions · InitProducerId · ShareAcknowledge · ShareFetch · ShareGroupDescribe · ShareGroupHeartbeat · StreamsGroupDescribe · StreamsGroupHeartbeat · WriteTxnMarkers
Debugging Kafka errors? Conduktor Console gives you real-time visibility into your cluster. Explore all errors in the Error Decoder.