...
We introduce 1 new Admin API that’s served only by the Kafka Controller, and identified by the new API key: ApiKeys.UPDATE_FEATURES
. This API enables transactional application of a set of cluster-wide feature updates to the ZK '/features'
node (i.e. either all provided FeatureUpdate
are applied to ZK, or none):
- The API requires AclOperation.ALTER on ResourceType.CLUSTER.
The API request contains request is a list of
FeatureUpdate
that need to be applied, as explained below:Each item specifies the finalized feature to be added or updated or deleted, along with the new max feature version level value.
- Max feature version level downgrades are not a regular operation. Each item optionally can specify an
allowDowngrade
flag, which can be used to allow version level downgrades (or deletions). - To add a new finalized feature version level, or update an existing one, the user must specify the version level starting from 1 (and increasing).
If a finalized feature needs to be permanently deleted, the user must specify a max version level value < 1, and should also set the
allowDowngrade
flag.
- The API response contains an error code and an error message.
- Changes to cluster-wide finalized minimum feature version level, can not be carried out using this API. This can be only done as explained later under Feature version deprecation section.
...