Skip to content

Comments

KAFKA-19740: Deprecate group.coordinator.rebalance.protocols config (KIP-1237)#21522

Open
mingyen066 wants to merge 2 commits intoapache:trunkfrom
mingyen066:KAFKA-19740-deprecate-rebalance-protocols-config
Open

KAFKA-19740: Deprecate group.coordinator.rebalance.protocols config (KIP-1237)#21522
mingyen066 wants to merge 2 commits intoapache:trunkfrom
mingyen066:KAFKA-19740-deprecate-rebalance-protocols-config

Conversation

@mingyen066
Copy link
Collaborator

@mingyen066 mingyen066 commented Feb 20, 2026

Implement KIP-1237.

  • Deprecate the group.coordinator.rebalance.protocols configuration
    for
    removal in Kafka 5.0.
  • Log a deprecation warning when users disable any default protocol
    (classic, consumer, streams), advising them to restore the default value
    or remove the configuration
  • Guard warnings with doLog to avoid duplicate output during startup

Test result:

# group.coordinator.rebalance.protocols=classic,consumer
❯ ./bin/kafka-server-start.sh config/server.properties 2>&1 | grep
"WARN"
[2026-02-20 18:31:18,877] WARN The config
`group.coordinator.rebalance.protocols` is deprecated and will be
removed in Kafka 5.0. The following protocol(s) are currently disabled:
streams. In Kafka 5.0, all protocols will always be enabled and
controlled solely by feature versions (group.version, streams.version,
share.version) via kafka-features.sh. Please restore the default value
or remove the configuration to prepare for the upgrade.
(kafka.server.KafkaConfig)

# =classic,streams
❯ ./bin/kafka-server-start.sh config/server.properties 2>&1 | grep
"WARN"
[2026-02-20 18:32:01,446] WARN The config
`group.coordinator.rebalance.protocols` is deprecated and will be
removed in Kafka 5.0. The following protocol(s) are currently disabled:
consumer. In Kafka 5.0, all protocols will always be enabled and
controlled solely by feature versions (group.version, streams.version,
share.version) via kafka-features.sh. Please restore the default value
or remove the configuration to prepare for the upgrade.
(kafka.server.KafkaConfig)

# =classic
❯ ./bin/kafka-server-start.sh config/server.properties 2>&1 | grep
"WARN"
[2026-02-20 18:32:21,431] WARN The config
`group.coordinator.rebalance.protocols` is deprecated and will be
removed in Kafka 5.0. The following protocol(s) are currently disabled:
consumer, streams. In Kafka 5.0, all protocols will always be enabled
and controlled solely by feature versions (group.version,
streams.version, share.version) via kafka-features.sh. Please restore
the default value or remove the configuration to prepare for the
upgrade. (kafka.server.KafkaConfig)

# =classic,consumer,streams,share
❯ ./bin/kafka-server-start.sh config/server.properties 2>&1 | grep
"WARN"
[2026-02-20 18:32:37,041] WARN 'share' in
group.coordinator.rebalance.protocols is deprecated. Share groups are
controlled by the 'share.version' feature. (kafka.server.KafkaConfig)

# =classic,consumer,share
❯ ./bin/kafka-server-start.sh config/server.properties 2>&1 | grep
"WARN"
[2026-02-20 18:32:51,701] WARN 'share' in
group.coordinator.rebalance.protocols is deprecated. Share groups are
controlled by the 'share.version' feature. (kafka.server.KafkaConfig)
[2026-02-20 18:32:51,702] WARN The config
`group.coordinator.rebalance.protocols` is deprecated and will be
removed in Kafka 5.0. The following protocol(s) are currently disabled:
streams. In Kafka 5.0, all protocols will always be enabled and
controlled solely by feature versions (group.version, streams.version,
share.version) via kafka-features.sh. Please restore the default value
or remove the configuration to prepare for the upgrade.
(kafka.server.KafkaConfig)

# =consumer
❯ ./bin/kafka-server-start.sh config/server.properties
[2026-02-20 18:33:29,870] INFO Registered
`kafka:type=kafka.Log4jController` MBean
(kafka.utils.Log4jControllerRegistration$)
[2026-02-20 18:33:29,936] ERROR Exiting Kafka due to fatal exception
(kafka.Kafka$)
org.apache.kafka.common.config.ConfigException: Disabling the 'classic'
protocol is not supported.
        at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:359)
        at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:147)
        at kafka.Kafka$.buildServer(Kafka.scala:65)
        at kafka.Kafka$.main(Kafka.scala:75)
        at kafka.Kafka.main(Kafka.scala)

…KIP-1237)

Mark the group.coordinator.rebalance.protocols configuration as deprecated
for removal in Kafka 5.0. When users set a value that disables any default
protocol, a warning is logged advising them to restore the default or remove
the configuration. The share protocol no-op warning is also preserved.
@github-actions github-actions bot added triage PRs from the community core Kafka Broker group-coordinator small Small PRs labels Feb 20, 2026
@dajac
Copy link
Member

dajac commented Feb 22, 2026

cc @squah-confluent

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Kafka Broker group-coordinator small Small PRs triage PRs from the community

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants