KAFKA-16860; [1/2] Introduce group.version feature flag#16120
KAFKA-16860; [1/2] Introduce group.version feature flag#16120dajac merged 2 commits intoapache:trunkfrom
Conversation
6a6e280 to
b4be0e4
Compare
|
Changes LGTM so far. We will need to rebase once we get the changes and I will give my final approval then. 👍 |
afd0ebc to
5695787
Compare
|
Apparently, I have to fix a few others. |
|
Ok. I have fixed all the tests, hopefully. |
…TransactionsTest (#16139) While working on #16120, I noticed that the transaction verification feature is disabled in `TransactionsTest` when the new group coordinator is enabled. We did this initially because the feature was not available in the new group coordinator but we fixed it a long time ago. We can enable it now. Reviewers: Justine Olshan <jolshan@confluent.io>
|
The build does not seem to start… I am not sure why. |
| supportedGroupProtocols.add(CLASSIC); | ||
|
|
||
| // KafkaConfig#isNewGroupCoordinatorEnabled check both NEW_GROUP_COORDINATOR_ENABLE_CONFIG and GROUP_COORDINATOR_REBALANCE_PROTOCOLS_CONFIG | ||
| if (serverProperties.getOrDefault(NEW_GROUP_COORDINATOR_ENABLE_CONFIG, "").equals("true") || |
There was a problem hiding this comment.
do we plan to remove this config value from GroupCoordinatorConfig? I see it was removed from a lot of files, but there are still a few where it is used.
There was a problem hiding this comment.
Mostly confused because we don't check for the config in kafka apis anymore.
There was a problem hiding this comment.
We will eventually remove it for sure. This (private) config is still the one use to determine whether the new group coordinator should be enabled or not. The trick to know is that it is automatically set to true when consumer is specified as a protocol. We made this to simplify the early access and the preview.
The handling was a bit messy before this patch as the new protocol was enabled whenever the new coordinator ran. It is better now.
There was a problem hiding this comment.
Hmmm -- so when you say the new group coordinator -- you mean the code (which handles both protocols) and not the protocol itself.
Do I have this right?
- If the protocol is consumer -> new coordinator
- If the config is enabled -> new coordinator
- If protocol is not consumer && config is not enabled -> old coordinator
There was a problem hiding this comment.
Got it. Let me run through the tests one more time with this understanding.
| expectedFeatures.put(feature.featureName(), VersionRange.of( | ||
| 0, | ||
| feature.defaultValue(MetadataVersion.LATEST_PRODUCTION) | ||
| feature.defaultValue(MetadataVersion.latestTesting()) |
There was a problem hiding this comment.
Hmm was this just a bug in the test...
|
Failures look like usual suspects, but can we confirm the 4.0 ones? |
|
Will do when I get back to my computer. They indeed look suspicious. |
|
It looks like testDescribeQuorumReplicationSuccessfu also fails for other PRs: https://ci-builds.apache.org/blue/organizations/jenkins/Kafka%2Fkafka-pr/detail/PR-16154/1/tests. testTopicPartitionsArgWithInternalIncluded seems to be new. |
|
testTopicPartitionsArgWithInternalIncluded does not fail locally. It is also a flaky test. |
|
I confirmed that the failed tests are not related. Merging to trunk and to 3.8. |
This patch updates the system tests to correctly enable the new consumer protocol/coordinator in the tests requiring them. I went with the simplest approach for now. Long term, I think that we should refactor the tests to better handle features and non-production features. I got a successful run of the consumer system tests with this patch combined with #16120: https://confluent-kafka-branch-builder-system-test-results.s3-us-west-2.amazonaws.com/system-test-kafka-branch-builder--1717155071--dajac--KAFKA-16860-2--29028ae0dd/2024-05-31--001./2024-05-31--001./report.html. Reviewers: Justine Olshan <jolshan@confluent.io>
This patch introduces the `group.version` feature flag with one version: 1) Version 1 enables the new consumer group rebalance protocol (KIP-848). Reviewers: Justine Olshan <jolshan@confluent.io>
This patch updates the system tests to correctly enable the new consumer protocol/coordinator in the tests requiring them. I went with the simplest approach for now. Long term, I think that we should refactor the tests to better handle features and non-production features. I got a successful run of the consumer system tests with this patch combined with #16120: https://confluent-kafka-branch-builder-system-test-results.s3-us-west-2.amazonaws.com/system-test-kafka-branch-builder--1717155071--dajac--KAFKA-16860-2--29028ae0dd/2024-05-31--001./2024-05-31--001./report.html. Reviewers: Justine Olshan <jolshan@confluent.io>
…TransactionsTest (apache#16139) While working on apache#16120, I noticed that the transaction verification feature is disabled in `TransactionsTest` when the new group coordinator is enabled. We did this initially because the feature was not available in the new group coordinator but we fixed it a long time ago. We can enable it now. Reviewers: Justine Olshan <jolshan@confluent.io>
| IBP_3_8_IV0(20, "3.8", "IV0", true), | ||
|
|
||
| // Introduce version 1 of the GroupVersion feature (KIP-848). | ||
| IBP_4_0_IVO(21, "4.0", "IV0", false); |
There was a problem hiding this comment.
@dajac : It seems there is a typo. IBP_4_0_IVO should be IBP_4_0_IV0. The last zero was mis-typed as an O.
There was a problem hiding this comment.
Oh, good catch. Let me fix this.
…TransactionsTest (apache#16139) While working on apache#16120, I noticed that the transaction verification feature is disabled in `TransactionsTest` when the new group coordinator is enabled. We did this initially because the feature was not available in the new group coordinator but we fixed it a long time ago. We can enable it now. Reviewers: Justine Olshan <jolshan@confluent.io>
This patch introduces the `group.version` feature flag with one version: 1) Version 1 enables the new consumer group rebalance protocol (KIP-848). Reviewers: Justine Olshan <jolshan@confluent.io>
This patch updates the system tests to correctly enable the new consumer protocol/coordinator in the tests requiring them. I went with the simplest approach for now. Long term, I think that we should refactor the tests to better handle features and non-production features. I got a successful run of the consumer system tests with this patch combined with apache#16120: https://confluent-kafka-branch-builder-system-test-results.s3-us-west-2.amazonaws.com/system-test-kafka-branch-builder--1717155071--dajac--KAFKA-16860-2--29028ae0dd/2024-05-31--001./2024-05-31--001./report.html. Reviewers: Justine Olshan <jolshan@confluent.io>
…TransactionsTest (apache#16139) While working on apache#16120, I noticed that the transaction verification feature is disabled in `TransactionsTest` when the new group coordinator is enabled. We did this initially because the feature was not available in the new group coordinator but we fixed it a long time ago. We can enable it now. Reviewers: Justine Olshan <jolshan@confluent.io>
This patch introduces the `group.version` feature flag with one version: 1) Version 1 enables the new consumer group rebalance protocol (KIP-848). Reviewers: Justine Olshan <jolshan@confluent.io>
This patch updates the system tests to correctly enable the new consumer protocol/coordinator in the tests requiring them. I went with the simplest approach for now. Long term, I think that we should refactor the tests to better handle features and non-production features. I got a successful run of the consumer system tests with this patch combined with apache#16120: https://confluent-kafka-branch-builder-system-test-results.s3-us-west-2.amazonaws.com/system-test-kafka-branch-builder--1717155071--dajac--KAFKA-16860-2--29028ae0dd/2024-05-31--001./2024-05-31--001./report.html. Reviewers: Justine Olshan <jolshan@confluent.io>
…TransactionsTest (apache#16139) While working on apache#16120, I noticed that the transaction verification feature is disabled in `TransactionsTest` when the new group coordinator is enabled. We did this initially because the feature was not available in the new group coordinator but we fixed it a long time ago. We can enable it now. Reviewers: Justine Olshan <jolshan@confluent.io>
This patch introduces the `group.version` feature flag with one version: 1) Version 1 enables the new consumer group rebalance protocol (KIP-848). Reviewers: Justine Olshan <jolshan@confluent.io>
This patch updates the system tests to correctly enable the new consumer protocol/coordinator in the tests requiring them. I went with the simplest approach for now. Long term, I think that we should refactor the tests to better handle features and non-production features. I got a successful run of the consumer system tests with this patch combined with apache#16120: https://confluent-kafka-branch-builder-system-test-results.s3-us-west-2.amazonaws.com/system-test-kafka-branch-builder--1717155071--dajac--KAFKA-16860-2--29028ae0dd/2024-05-31--001./2024-05-31--001./report.html. Reviewers: Justine Olshan <jolshan@confluent.io>
This patch introduces the
group.versionfeature flag with one version:Committer Checklist (excluded from commit message)