conduktor.io ↗

Kafka UpdateFeatures Request Wire Format v0 — Binary Protocol Layout

What is UpdateFeatures?

Finalizes feature version flags during cluster upgrades via kafka-features.sh. After all brokers support a new feature version, an operator calls this to activate it. Some features (like the new consumer group protocol) are gated behind feature flags and require explicit activation.

Related Errors

FEATURE_UPDATE_FAILED · INVALID_UPDATE_VERSION · NOT_CONTROLLER

Wire Diagram

Request Header · flexible
message_size int32 · 4B
api_key int16 · 2B
api_version int16 · 2B
correlation_id int32 · 4B
client_id string (compact)
tagged var
UpdateFeaturesRequest v0
timeoutMs int32 · 4B
FeatureUpdates array
tagged var
Feature string (compact)
MaxVersionLevel int16 · 2B
AllowDowngrade bool · 1B
tagged var

Schema & Example

Schema
{
  "timeoutMs": int32,
  "FeatureUpdates": [{
      "Feature": string,
      "MaxVersionLevel": int16,
      "AllowDowngrade": bool
  }]
}
Example
{
  "timeoutMs": 30000,
  "FeatureUpdates": [{
      "Feature": "kraft.version",
      "MaxVersionLevel": 1,
      "AllowDowngrade": true
  }]
}