Versions Compared

Key

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

...

  • Introduce --release-version. It will work just like the storage tool and upgrade (or downgrade) all the features to a version determined by the metadata → feature version mapping from the storage tool. This is ideal for the average user who wants the latest stable features for a given version. Only allow one flag to be set here. Set a feature via --feature (or multiple usages of the flag for multiple features) or the --release-version flag. When using the release version flag with the upgrade or downgrade commands, if some features are not moving in the direction mentioned (upgrade or downgrade) the command will fail with an error of which features were going in the wrong direction.

  • Deprecate --metadata flag. The flag will still work but will include a warning that the flag may be removed in the future.

Examples:

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

...