Skip to content

KAFKA-16308 [1/N]: Create FeatureVersion interface and add --feature flag and handling to StorageTool#15685

Merged
jolshan merged 34 commits into
apache:trunkfrom
jolshan:kafka-16308
May 29, 2024
Merged

KAFKA-16308 [1/N]: Create FeatureVersion interface and add --feature flag and handling to StorageTool#15685
jolshan merged 34 commits into
apache:trunkfrom
jolshan:kafka-16308

Conversation

@jolshan

@jolshan jolshan commented Apr 8, 2024

Copy link
Copy Markdown
Member

As part of KIP-1022, I have created an interface for all the new features to be used when parsing the command line arguments, doing validations, getting default versions, etc.

I've also added the --feature flag to the storage tool to show how it will be used.

Created a TestFeatureVersion to show an implementation of the interface (besides MetadataVersion which is unique) and added tests using this new test feature.

I will add the unstable config and tests in a followup.

I also tested setting the test.feature.version locally
bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties --feature test.feature.version=1

I see the following in logs:
[2024-04-17 16:04:10,988] INFO [QuorumController id=1] Replayed a FeatureLevelRecord setting feature test.feature.version to 1 (org.apache.kafka.controller.FeatureControlManager)

When I queried ApiVersions:

Feature: metadata.version	SupportedMinVersion: 3.0-IV1	SupportedMaxVersion: 3.7-IV4	FinalizedVersionLevel: 3.7-IV4	Epoch: 49882
Feature: test.feature.version	SupportedMinVersion: 0	SupportedMaxVersion: 1	FinalizedVersionLevel: 1	Epoch: 49882

Committer Checklist (excluded from commit message)

  • Verify design and implementation
  • Verify test coverage and CI build status
  • Verify documentation (including upgrade notes)

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants