DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
- Status
- Motivation
- Proposed Change
- New and Changed Public Interfaces
- Migration Plan and Compatibility
- Rejected Alternatives
Status
Current state: Under Discussion
Discussion thread: https://lists.apache.org/thread/01bs42crlkn5jr1r846vflp293zv2t86
JIRA: KAFKA-20018
Motivation
The `kafka-feature.sh` command-line tool currently has two issues that impact usability and consistency:
...
The `MutuallyExclusiveGroup` for `--bootstrap-server` and `--bootstrap-controller` will be removed from the top-level parser. Instead, this required argument group will be added individually to each of the subcommands that require a live cluster connection: `describe`, `upgrade`, `downgrade`, and `disable`. This change makes the arguments required only when one of these specific subcommands is chosen, allowing offline commands to run without them.
Breaking Change Warning Message
Since this is a breaking change, it should be introduced in 5.0. A warning message will be added to the helping string in 4.x telling users that the group will be removed from the top level and become arguments under specific commands.
Expose Unstable Version Flag in version-mapping:
A new boolean flag, `--unstable-feature-versions`, will be added to the `version-mapping` subcommand in both `kafka-feature.sh` and `kafka-storage.sh`. When this flag is present, the tool will call `MetadataVersion.fromVersionString()` with the unstableFeatureVersionsEnabled flag set to true, allowing users to see feature mappings for development and testing versions. By default (without the flag), only production/stable metadata versions will be included.
Excluding unstable feature versions is the behavior before KAFKA-19544, so this is not a breaking change and can be introduced in 4.x.
New and Changed Public Interfaces
...
The `--bootstrap-server` / `--bootstrap-controller` arguments are no longer valid as top-level arguments. They must now be specified after the subcommand (e.g., `kafka-feature.sh describe --bootstrap-server ...`).
Scripts invoking offline commands will no longer require these arguments.
...
This KIP introduces a breaking change to the command-line interface of kafka-feature.sh. Users must update existing scripts that use `kafka-features.sh`.
...