Versions Compared

Key

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

...

Add a CLI command to both tools to look up the corresponding features for a given metadata version. Using the command with no --release-version  argument will return the mapping for the latest metadata version.

Add a CLI command to look up dependencies for a given feature version. If the feature is not known or the version not yet defined, throw an error. 

Code Block
bin/kafka-storage.sh version-mapping
bin/kafka-storage.sh version-mapping --release-version 3.6-IV1
bin/kafka-storage.sh version-mapping --release-version 2.9-IV2 // throws error, not a valid version

bin/kafka-features.sh version-mapping
bin/kafka-features.sh version-mapping --release-version 3.6-IV1

kafka-feature dependencies --feature transaction.protocol.version=2
> transaction.protocol.verison=2 requires metadata.version=4 (listing any other version dependencies)

kafka-feature dependencies --feature metadata.version=17
> metadata.version=17 has no dependencies

The output of the features describe command can be updated to share the dependencies for the versions currently set on the broker. This information comes from the tool and not from the ApiVersions request.

Code Block
Feature: metadata.version             SupportedMinVersion: 3.0-IV1    SupportedMaxVersion: 3.8-IV0    FinalizedVersionLevel: 3.7-IV1       Epoch: 0      Dependencies: None
Feature: transaction.protocol.version SupportedMinVersion: 0          SupportedMaxVersion: 2          FinalizedVersionLevel: 1             Epoch: 3      Dependencies: metadata.version=4
Feature: group.coordinator.version    SupportedMinVersion: 0          SupportedMaxVersion: 1          FinalizedVersionLevel: 0             Epoch: 2      Dependencies: metadata.version=4


Compatibility, Deprecation, and Migration Plan

...