Versions Compared

Key

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

...

All sub-commands require the --bootstrap-server argument and may take the --command-config argument. All operations that might mutate the state of a feature flag also include a --dry-run option. 

For all operations, multiple occurrences of the --feature (and where applicable --version) can be given to perform the operation on a set of features at once.

./kafka-features.sh describe [--feature FEATURE] [--release RELEASE]

Send an ApiVersionsRequest to the controller to learn about the range of supported versions and the current finalized version of every feature flag. If an optional --feature argument is given, only the details of that particular flag are returned. Otherwise, return the details of all the flags. If RELEASE is given, return the details of the features and their default versions for that release.

...

Describe

The describe command shows the current features active in the cluster.

Code Block
usage: kafka-features --bootstrap-server BOOTSTRAP_SERVER describe [-h]

optional arguments:
  -h, --help             show this help message and exit



Upgrade

The ugprade command upgrades one or more features in the cluster.

Code Block
% ./bin/kafka-features.sh upgrade --help
usage: kafka-features --bootstrap-server BOOTSTRAP_SERVER upgrade [-h] [--metadata METADATA] [--feature FEATURE] [--dry-run]

...

The FEATURE and VERSION arguments can be repeated to indicate an upgrade of multiple features in one request. Alternatively, the RELEASE flag can be given to upgrade to the default versions of the specified release. These two options, FEATURE and RELEASE, are mutually exclusive. If neither is given, this command will do nothing.

./kafka-features.sh downgrade [--release RELEASE] [--feature FEATURE --version VERSION] [--unsafe, --dry-run]

Send an UpdateFeaturesRequest to the controller for the given feature FEATURE to downgrade its version to VERSION. Alternatively, the RELEASE flag can be given to downgrade to the default versions of the specified release. Only apply this downgrade if it is considered “safe” by the controller, or the --unsafe flag is given. Details on unsafe downgrades are detailed in the "Downgrades" section below.

./kafka-features.sh disable --feature FEATURE [--unsafe, --dry-run]

...



optional arguments:
  -h, --help             show this help message and exit
  --metadata METADATA    The level to which we should upgrade the metadata. For example, 3.3-IV3.
  --feature FEATURE      A feature upgrade we should perform, in key=value format. For example metadata.version=3.3-IV3.
  --dry-run              Validate this downgrade, but do not perform it.

Downgrade

The downgrade command downgrades one or more features in the cluster.




Code Block
% ./bin/kafka-features.sh downgrade --help
usage: kafka-features --bootstrap-server BOOTSTRAP_SERVER downgrade [-h] [--metadata METADATA] [--feature FEATURE] [--unsafe] [--dry-run]

optional arguments:
  -h, --help             show this help message and exit
  --metadata METADATA    The level to which we should downgrade the metadata. For example, 3.3-IV0.
  --feature FEATURE      A feature downgrade we should perform, in key=value format. For example metadata.version=3.3-IV0.
  --unsafe               Perform this downgrade even if it may irreversibly destroy metadata.
  --dry-run              Validate this downgrade, but do not perform it.


Disable

The disable command downgrades one or more features in the cluster to level 0 (disabled).

Code Block
% ./bin/kafka-features.sh disable --help
usage: kafka-features --bootstrap-server BOOTSTRAP_SERVER disable [-h] [--feature FEATURE] [--unsafe] [--dry-run]

optional arguments:
  -h, --help             show this help message and exit
  --feature FEATURE      A feature flag to disable.
  --unsafe               Disable this feature flag even if it may irreversibly destroy metadata.
  --dry-run              Perform a dry-run of this disable operation.



KIP-584 Finalized Version Addendum

...