Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KAFKA-15922: Add a MetadataVersion for JBOD #14860

Merged
merged 5 commits into from
Nov 30, 2023
Merged

Conversation

cmccabe
Copy link
Contributor

@cmccabe cmccabe commented Nov 29, 2023

Assign MetadataVersion.IBP_3_7_IV2 to JBOD.

Move KIP-966 support to MetadataVersion.IBP_3_7_IV3.

Create MetadataVersion.LATEST_PRODUCTION as the latest metadata version that can be used when formatting a new cluster, or upgrading a cluster using kafka-features.sh. This will allow us to clearly distinguish between stable and unstable metadata versions for the first time.

Assign MetadataVersion.IBP_3_7_IV2 to JBOD.

Move KIP-966 support to MetadataVersion.IBP_3_7_IV3.

Create MetadataVersion.LATEST_PRODUCTION as the latest metadata version that can be used when
formatting a new cluster, or upgrading a cluster using kafka-features.sh. This will allow us to
clearly distinguish between stable and unstable metadata versions for the first time.
@cmccabe cmccabe added the kraft label Nov 29, 2023
Copy link
Contributor

@pprovenzano pprovenzano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@CalvinConfluent CalvinConfluent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

@rondagostino rondagostino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a few comments, nothing major directly on the changes.

I do have a high-level thought to put out there. This currently prevents the storage tool from formatting with a non-production MetadataVersion and prevents the feature tool from updating a running cluster to a non-production MetadataVersion. I wonder if this will break anything, and I wonder if perhaps we should add a break-glass mechanism to circumvent these things in case something does break. While this may not require a KIP per-se, I would not be surprised if changing this causes issues for people somewhere.

Copy link
Contributor

@rondagostino rondagostino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for all the changes. The internal break-glass config is a good addition. LGTM except for Calvin's points raised at #14860 (review)

@cmccabe
Copy link
Contributor Author

cmccabe commented Nov 30, 2023

Can we also fix the builder version handling here?
With this fixed, LGTM

Good catch. The best way to fix this would be to add "ignorable" to the JSON definition, so that it will get automatically dropped if the version is too old. Will do.

@cmccabe cmccabe merged commit a94bc8d into apache:trunk Nov 30, 2023
1 check was pending
@cmccabe cmccabe deleted the KAFKA-15922 branch November 30, 2023 18:35
showuon pushed a commit to showuon/kafka that referenced this pull request Dec 1, 2023
Assign MetadataVersion.IBP_3_7_IV2 to JBOD.

Move KIP-966 support to MetadataVersion.IBP_3_7_IV3.

Create MetadataVersion.LATEST_PRODUCTION as the latest metadata version that can be used when formatting a
new cluster, or upgrading a cluster using kafka-features.sh. This will allow us to clearly distinguish between stable
and unstable metadata versions for the first time.

Reviewers: Igor Soarez <[email protected]>, Ron Dagostino <[email protected]>, Calvin Liu <[email protected]>, Proven Provenzano <[email protected]>
Comment on lines -48 to -51
if (version < 2) {
// Reset the PreviousBrokerEpoch to default if not supported.
data.setPreviousBrokerEpoch(new BrokerRegistrationRequestData().previousBrokerEpoch());
}
Copy link
Collaborator

@apoorvmittal10 apoorvmittal10 Dec 3, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cmccabe I am not an expert with the change in the PR but this change might have broken the tests for BrokerRegistrationRequestTest, tests fails for version < 2

Also I might be missing something to read the builds for this PR but as far as I can check I don't see any successful build for the PR as well, please let me know if I am reading something wrong.

https://ci-builds.apache.org/blue/organizations/jenkins/Kafka%2Fkafka-pr/activity?branch=PR-14860

cc: @junrao @pprovenzano @dajac @AndrewJSchofield (for failing tests in the other PR builds for BrokerRegistrationRequestTest)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems that this is being tracked in #14887.

ex172000 pushed a commit to ex172000/kafka that referenced this pull request Dec 15, 2023
Assign MetadataVersion.IBP_3_7_IV2 to JBOD.

Move KIP-966 support to MetadataVersion.IBP_3_7_IV3.

Create MetadataVersion.LATEST_PRODUCTION as the latest metadata version that can be used when formatting a
new cluster, or upgrading a cluster using kafka-features.sh. This will allow us to clearly distinguish between stable
and unstable metadata versions for the first time.

Reviewers: Igor Soarez <[email protected]>, Ron Dagostino <[email protected]>, Calvin Liu <[email protected]>, Proven Provenzano <[email protected]>
yyu1993 pushed a commit to yyu1993/kafka that referenced this pull request Feb 15, 2024
Assign MetadataVersion.IBP_3_7_IV2 to JBOD.

Move KIP-966 support to MetadataVersion.IBP_3_7_IV3.

Create MetadataVersion.LATEST_PRODUCTION as the latest metadata version that can be used when formatting a
new cluster, or upgrading a cluster using kafka-features.sh. This will allow us to clearly distinguish between stable
and unstable metadata versions for the first time.

Reviewers: Igor Soarez <[email protected]>, Ron Dagostino <[email protected]>, Calvin Liu <[email protected]>, Proven Provenzano <[email protected]>
AnatolyPopov pushed a commit to aiven/kafka that referenced this pull request Feb 16, 2024
Assign MetadataVersion.IBP_3_7_IV2 to JBOD.

Move KIP-966 support to MetadataVersion.IBP_3_7_IV3.

Create MetadataVersion.LATEST_PRODUCTION as the latest metadata version that can be used when formatting a
new cluster, or upgrading a cluster using kafka-features.sh. This will allow us to clearly distinguish between stable
and unstable metadata versions for the first time.

Reviewers: Igor Soarez <[email protected]>, Ron Dagostino <[email protected]>, Calvin Liu <[email protected]>, Proven Provenzano <[email protected]>
clolov pushed a commit to clolov/kafka that referenced this pull request Apr 5, 2024
Assign MetadataVersion.IBP_3_7_IV2 to JBOD.

Move KIP-966 support to MetadataVersion.IBP_3_7_IV3.

Create MetadataVersion.LATEST_PRODUCTION as the latest metadata version that can be used when formatting a
new cluster, or upgrading a cluster using kafka-features.sh. This will allow us to clearly distinguish between stable
and unstable metadata versions for the first time.

Reviewers: Igor Soarez <[email protected]>, Ron Dagostino <[email protected]>, Calvin Liu <[email protected]>, Proven Provenzano <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants