...
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
...