Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Current state: Under Discussion

Discussion thread: Not yetNone

JIRA:  

Jira
KAFKA-18628
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyKAFKA-18628

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

...

Having two configuration properties that must always hold the same value causes unnecessary confusion and contradicts the documentation, which describes `node.id` as required in KRaft mode.

...

This KIP proposes to deprecate the broker.id server configuration property in Apache Kafka 4.3 and remove it in Apache Kafka 5.0.

Config

Type

Default

4.3

5.0

broker.id

INT

-1

Deprecated

Removed

node.id

INT

(required)

No change

No change

...

Note

...

: The documentation

...

describes node.id as required in KRaft mode, but it can currently be omitted if broker.id is set, because the synonym mechanism automatically populates node.id from broker.id. After the removal in 5.0, node.id must be explicitly set.

No changes to public APIs, network protocols, metrics, or command-line tools.

...

The following table summarizes the expected behavior for each configuration scenario across version ranges:

Configuration

4.0 ~ 4.2 (Current)

4.3 ~ 4.x (Deprecated)

5.0 (Removed)

Only node.id set

Valid

Valid

Valid

Only broker.id set

Valid; node.id is auto-populated from broker.id

Valid + broker.id

 

deprecation warning; node.id is auto-populated from broker.id

ConfigException: node.id is required

Both set, same value

Valid

Valid + broker.id

 

deprecation warning

Valid; broker.id is ignored

with unknown config warning

Both set, different values

ConfigException: node.id must equal broker.id

ConfigException: node.id must equal broker.id

Valid; broker.id is ignored

with unknown config warning

Neither set

ConfigException: node.id is required

ConfigException: node.id is required

ConfigException: node.id is required

Note: In the 5.0 column, "ignored" means broker.id is treated as an unrecognized configuration, which logs a standard unknown config warning.

Compatibility, Deprecation, and Migration Plan

...