-
-
Notifications
You must be signed in to change notification settings - Fork 6
feat(kafka): Add 3.9.2 and 4.2.1 #1483
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
Merged
Merged
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
beda589
add kafka 4.2.0
razvan e5764c4
disable cyclone dx
razvan 761c8ad
Merge branch 'main' into kafka/queues
razvan 226a998
update cyclone plugin and java versions
razvan c318a20
replace 4.2.0 with 4.2.1
razvan 470eebb
fix jackson dependency
razvan d24a077
add kafka 3.9.2
razvan ac6c3d6
update changelog
razvan cc53a97
document sources for jvm compatibility
razvan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
62 changes: 62 additions & 0 deletions
62
kafka/stackable/patches/3.9.2/0001-Add-CycloneDX-plugin.patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,62 @@ | ||
| From c19817ee82f7b90aac0a8be66e3efe17f268eb35 Mon Sep 17 00:00:00 2001 | ||
| From: Lukas Voetmand <lukas.voetmand@stackable.tech> | ||
| Date: Thu, 17 Oct 2024 11:01:40 +0200 | ||
| Subject: Add CycloneDX plugin | ||
|
|
||
| --- | ||
| build.gradle | 42 ++++++++++++++++++++++++++++++++++++++++++ | ||
| 1 file changed, 42 insertions(+) | ||
|
|
||
| diff --git a/build.gradle b/build.gradle | ||
| index 381e964d13..f51f410858 100644 | ||
| --- a/build.gradle | ||
| +++ b/build.gradle | ||
| @@ -48,6 +48,48 @@ plugins { | ||
| // We are going to drop JDK8 support. Hence, the spotless is upgrade to newest version and be applied only if the build env is compatible with JDK 11. | ||
| // spotless 6.15.0+ has issue in runtime with JDK8 even through we define it with `apply:false`. see https://github.com/diffplug/spotless/issues/2156 for more details | ||
| id 'com.diffplug.spotless' version "6.14.0" apply false | ||
| + id 'org.cyclonedx.bom' version '1.10.0' | ||
| +} | ||
| + | ||
| +cyclonedxBom { | ||
| + // Specified the type of project being built. Defaults to 'library' | ||
| + projectType = "application" | ||
| + // Specified the version of the CycloneDX specification to use. Defaults to '1.5' | ||
| + schemaVersion = "1.5" | ||
| + // Boms destination directory. Defaults to 'build/reports' | ||
| + destination = file("build/reports") | ||
| + // The file name for the generated BOMs (before the file format suffix). Defaults to 'bom' | ||
| + outputName = "bom" | ||
| + // The file format generated, can be xml, json or all for generating both. Defaults to 'all' | ||
| + outputFormat = "json" | ||
| + includeConfigs = ["runtimeClasspath"] | ||
| + // Exclude test components. This list needs to be checked and, if it changed, updated for every new Kafka version. | ||
| + // The list can be obtained by running `gradle projects | grep upgrade-system-tests` | ||
| + skipProjects = [ | ||
| + 'upgrade-system-tests-0100', | ||
| + 'upgrade-system-tests-0101', | ||
| + 'upgrade-system-tests-0102', | ||
| + 'upgrade-system-tests-0110', | ||
| + 'upgrade-system-tests-10', | ||
| + 'upgrade-system-tests-11', | ||
| + 'upgrade-system-tests-20', | ||
| + 'upgrade-system-tests-21', | ||
| + 'upgrade-system-tests-22', | ||
| + 'upgrade-system-tests-23', | ||
| + 'upgrade-system-tests-24', | ||
| + 'upgrade-system-tests-25', | ||
| + 'upgrade-system-tests-26', | ||
| + 'upgrade-system-tests-27', | ||
| + 'upgrade-system-tests-28', | ||
| + 'upgrade-system-tests-30', | ||
| + 'upgrade-system-tests-31', | ||
| + 'upgrade-system-tests-32', | ||
| + 'upgrade-system-tests-33', | ||
| + 'upgrade-system-tests-34', | ||
| + 'upgrade-system-tests-35', | ||
| + 'upgrade-system-tests-36', | ||
| + 'upgrade-system-tests-37' | ||
| + ] | ||
| } | ||
|
|
||
| ext { |
35 changes: 35 additions & 0 deletions
35
kafka/stackable/patches/3.9.2/0002-Change-Gradle-to-use-the-Nexus-Build-Repo.patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| From 343021661d7ed166a7555e6bce9da4805340f6cb Mon Sep 17 00:00:00 2001 | ||
| From: Lars Francke <git@lars-francke.de> | ||
| Date: Thu, 12 Dec 2024 10:09:47 +0100 | ||
| Subject: Change Gradle to use the Nexus Build Repo | ||
|
|
||
| --- | ||
| build.gradle | 8 ++++++-- | ||
| 1 file changed, 6 insertions(+), 2 deletions(-) | ||
|
|
||
| diff --git a/build.gradle b/build.gradle | ||
| index f51f410858..5ccd99e024 100644 | ||
| --- a/build.gradle | ||
| +++ b/build.gradle | ||
| @@ -20,7 +20,9 @@ import java.nio.charset.StandardCharsets | ||
|
|
||
| buildscript { | ||
| repositories { | ||
| - mavenCentral() | ||
| + maven { | ||
| + url 'https://build-repo.stackable.tech/repository/maven-public/' | ||
| + } | ||
| } | ||
| apply from: "$rootDir/gradle/dependencies.gradle" | ||
|
|
||
| @@ -168,7 +170,9 @@ ext { | ||
| allprojects { | ||
|
|
||
| repositories { | ||
| - mavenCentral() | ||
| + maven { | ||
| + url 'https://build-repo.stackable.tech/repository/maven-public/' | ||
| + } | ||
| } | ||
|
|
||
| dependencyUpdates { |
140 changes: 140 additions & 0 deletions
140
kafka/stackable/patches/3.9.2/0003-Build-custom-Stackable-version.patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,140 @@ | ||
| From 944ef05a7468a0437c0da923898aecae983eb5f6 Mon Sep 17 00:00:00 2001 | ||
| From: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> | ||
| Date: Mon, 1 Jun 2026 08:52:19 +0200 | ||
| Subject: Build custom Stackable version | ||
|
|
||
| How it was done: | ||
|
|
||
| Replace in files in root dir (do not garble .git): | ||
|
|
||
| for d in $(ls -p|grep -v /); do find $d -type f -exec sed -i 's/3\.9\.2/3.9.2-stackable0.0.0-dev/g' {} +; done | ||
|
|
||
| Replace in all subdirs: | ||
|
|
||
| for d in $(ls -d */); do find $d -type f -exec sed -i 's/3\.9\.2/3.9.2-stackable0.0.0-dev/g' {} +; done | ||
| --- | ||
| docs/getting-started/upgrade.md | 2 +- | ||
| docs/operations/kraft.md | 2 +- | ||
| gradle.properties | 2 +- | ||
| kafka-merge-pr.py | 2 +- | ||
| streams/quickstart/java/pom.xml | 2 +- | ||
| .../java/src/main/resources/archetype-resources/pom.xml | 2 +- | ||
| streams/quickstart/pom.xml | 2 +- | ||
| tests/kafkatest/__init__.py | 2 +- | ||
| tests/kafkatest/version.py | 2 +- | ||
| 9 files changed, 9 insertions(+), 9 deletions(-) | ||
|
|
||
| diff --git a/docs/getting-started/upgrade.md b/docs/getting-started/upgrade.md | ||
| index d7347b3ee8..7f888fc90a 100644 | ||
| --- a/docs/getting-started/upgrade.md | ||
| +++ b/docs/getting-started/upgrade.md | ||
| @@ -58,7 +58,7 @@ If you are upgrading from version 2.4.0 or above, and you have not overridden th | ||
|
|
||
|
|
||
|
|
||
| -### Notable changes in 3.9.2 | ||
| +### Notable changes in 3.9.2-stackable0.0.0-dev | ||
|
|
||
| * There is a new server configuration, `alter.config.policy.kraft.compatibility.enable`, which ensures that an AlterConfigPolicy is invoked consistently between KRaft and ZooKeeper modes. To enable this behavior, set the property to `true` in `server.properties`. For backward compatibility, the default value is `false`. See [KIP-1252](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=399279475) for more details. | ||
|
|
||
| diff --git a/docs/operations/kraft.md b/docs/operations/kraft.md | ||
| index a63ce05d4e..a8caef2d2b 100644 | ||
| --- a/docs/operations/kraft.md | ||
| +++ b/docs/operations/kraft.md | ||
| @@ -275,7 +275,7 @@ In general, the migration process passes through several phases. | ||
| * After the migration has been finalized, it is not possible to revert back to ZooKeeper mode. | ||
| * During the migration, if a ZK broker is running with multiple log directories, any directory failure will cause the broker to shutdown. Brokers with broken log directories will only be able to migrate to KRaft once the directories are repaired. For further details refer to [KAFKA-16431](https://issues.apache.org/jira/browse/KAFKA-16431). | ||
| * As noted above, some features are not fully implemented in KRaft mode. If you are using one of those features, you will not be able to migrate to KRaft yet. | ||
| - * There is a known inconsistency between ZK and KRaft modes in the arguments passed to an `AlterConfigPolicy`, when operations of type `SUBTRACT`, `DELETE` or `APPEND` are processed. This has been addressed with a compatibility flag in version 3.9.2. For further details see [KIP-1252](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=399279475). | ||
| + * There is a known inconsistency between ZK and KRaft modes in the arguments passed to an `AlterConfigPolicy`, when operations of type `SUBTRACT`, `DELETE` or `APPEND` are processed. This has been addressed with a compatibility flag in version 3.9.2-stackable0.0.0-dev. For further details see [KIP-1252](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=399279475). | ||
|
|
||
|
|
||
|
|
||
| diff --git a/gradle.properties b/gradle.properties | ||
| index 3c674c89c1..24bf3d2259 100644 | ||
| --- a/gradle.properties | ||
| +++ b/gradle.properties | ||
| @@ -22,7 +22,7 @@ group=org.apache.kafka | ||
| # - streams/quickstart/pom.xml | ||
| # - streams/quickstart/java/src/main/resources/archetype-resources/pom.xml | ||
| # - streams/quickstart/java/pom.xml | ||
| -version=3.9.2 | ||
| +version=3.9.2-stackable0.0.0-dev | ||
| scalaVersion=2.13.15 | ||
| # Adding swaggerVersion in gradle.properties to have a single version in place for swagger | ||
| # New version of Swagger 2.2.14 requires minimum JDK 11. | ||
| diff --git a/kafka-merge-pr.py b/kafka-merge-pr.py | ||
| index 4ac7434065..4f5f69d872 100755 | ||
| --- a/kafka-merge-pr.py | ||
| +++ b/kafka-merge-pr.py | ||
| @@ -70,7 +70,7 @@ TEMP_BRANCH_PREFIX = "PR_TOOL" | ||
|
|
||
| DEV_BRANCH_NAME = "trunk" | ||
|
|
||
| -DEFAULT_FIX_VERSION = os.environ.get("DEFAULT_FIX_VERSION", "3.9.2") | ||
| +DEFAULT_FIX_VERSION = os.environ.get("DEFAULT_FIX_VERSION", "3.9.2-stackable0.0.0-dev") | ||
|
|
||
| ORIGINAL_HEAD = "" | ||
|
|
||
| diff --git a/streams/quickstart/java/pom.xml b/streams/quickstart/java/pom.xml | ||
| index f8d1bd9e54..2ee0861269 100644 | ||
| --- a/streams/quickstart/java/pom.xml | ||
| +++ b/streams/quickstart/java/pom.xml | ||
| @@ -26,7 +26,7 @@ | ||
| <parent> | ||
| <groupId>org.apache.kafka</groupId> | ||
| <artifactId>streams-quickstart</artifactId> | ||
| - <version>3.9.2</version> | ||
| + <version>3.9.2-stackable0.0.0-dev</version> | ||
| <relativePath>..</relativePath> | ||
| </parent> | ||
|
|
||
| diff --git a/streams/quickstart/java/src/main/resources/archetype-resources/pom.xml b/streams/quickstart/java/src/main/resources/archetype-resources/pom.xml | ||
| index b62ab64acf..3d3d881096 100644 | ||
| --- a/streams/quickstart/java/src/main/resources/archetype-resources/pom.xml | ||
| +++ b/streams/quickstart/java/src/main/resources/archetype-resources/pom.xml | ||
| @@ -29,7 +29,7 @@ | ||
|
|
||
| <properties> | ||
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | ||
| - <kafka.version>3.9.2</kafka.version> | ||
| + <kafka.version>3.9.2-stackable0.0.0-dev</kafka.version> | ||
| <slf4j.version>1.7.36</slf4j.version> | ||
| </properties> | ||
|
|
||
| diff --git a/streams/quickstart/pom.xml b/streams/quickstart/pom.xml | ||
| index ac81ea06bb..1686b2bd56 100644 | ||
| --- a/streams/quickstart/pom.xml | ||
| +++ b/streams/quickstart/pom.xml | ||
| @@ -22,7 +22,7 @@ | ||
| <groupId>org.apache.kafka</groupId> | ||
| <artifactId>streams-quickstart</artifactId> | ||
| <packaging>pom</packaging> | ||
| - <version>3.9.2</version> | ||
| + <version>3.9.2-stackable0.0.0-dev</version> | ||
|
|
||
| <name>Kafka Streams :: Quickstart</name> | ||
|
|
||
| diff --git a/tests/kafkatest/__init__.py b/tests/kafkatest/__init__.py | ||
| index 1362dad9ca..e20c655bbf 100644 | ||
| --- a/tests/kafkatest/__init__.py | ||
| +++ b/tests/kafkatest/__init__.py | ||
| @@ -22,4 +22,4 @@ | ||
| # Instead, in development branches, the version should have a suffix of the form ".devN" | ||
| # | ||
| # For example, when Kafka is at version 1.0.0-SNAPSHOT, this should be something like "1.0.0.dev0" | ||
| -__version__ = '3.9.2' | ||
| +__version__ = '3.9.2-stackable0.0.0-dev' | ||
| diff --git a/tests/kafkatest/version.py b/tests/kafkatest/version.py | ||
| index fa301e6a8d..1980c35d11 100644 | ||
| --- a/tests/kafkatest/version.py | ||
| +++ b/tests/kafkatest/version.py | ||
| @@ -122,7 +122,7 @@ def get_version(node=None): | ||
| return DEV_BRANCH | ||
|
|
||
| DEV_BRANCH = KafkaVersion("dev") | ||
| -DEV_VERSION = KafkaVersion("3.9.2-SNAPSHOT") | ||
| +DEV_VERSION = KafkaVersion("3.9.2-stackable0.0.0-dev-SNAPSHOT") | ||
|
|
||
| # This should match the LATEST_PRODUCTION version defined in MetadataVersion.java | ||
| LATEST_STABLE_METADATA_VERSION = "3.9-IV0" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| base = "5e9866f43ab8e7e41ef39e5584ac50019381328d" |
67 changes: 67 additions & 0 deletions
67
kafka/stackable/patches/4.2.1/0001-Add-CycloneDX-plugin.patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,67 @@ | ||
| From 5ef351ca945bcaa8346ef066ba00fd9288a4f443 Mon Sep 17 00:00:00 2001 | ||
| From: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> | ||
| Date: Wed, 13 May 2026 16:30:33 +0300 | ||
| Subject: Add CycloneDX plugin | ||
|
|
||
| --- | ||
| build.gradle | 45 +++++++++++++++++++++++++++++++++++++++++++++ | ||
| 1 file changed, 45 insertions(+) | ||
|
|
||
| diff --git a/build.gradle b/build.gradle | ||
| index c07cd3b047..effbe0f65d 100644 | ||
| --- a/build.gradle | ||
| +++ b/build.gradle | ||
| @@ -41,8 +41,53 @@ plugins { | ||
| id 'org.scoverage' version '8.1' apply false | ||
| id 'com.gradleup.shadow' version '8.3.9' apply false | ||
| id 'com.diffplug.spotless' version "8.0.0" | ||
| + id 'org.cyclonedx.bom' version '3.2.4' | ||
| } | ||
|
|
||
| +cyclonedxBom { | ||
| + // Specified the type of project being built. Defaults to 'library' | ||
| + projectType = org.cyclonedx.model.Component.Type.APPLICATION | ||
| + // Specified the version of the CycloneDX specification to use. Defaults to VERSION_16. | ||
| + schemaVersion = org.cyclonedx.Version.VERSION_15 | ||
| + jsonOutput = file("build/reports/bom.json") | ||
| + xmlOutput.unsetConvention() | ||
| +} | ||
| + | ||
| +// Exclude test components. This list needs to be checked and, if it changed, updated for every new Kafka version. | ||
| +// The list can be obtained by running `gradle projects | grep upgrade-system-tests` | ||
| +def skipCyclonedxProjects = [ | ||
| + ':streams:upgrade-system-tests-0110', | ||
| + ':streams:upgrade-system-tests-10', | ||
| + ':streams:upgrade-system-tests-11', | ||
| + ':streams:upgrade-system-tests-20', | ||
| + ':streams:upgrade-system-tests-21', | ||
| + ':streams:upgrade-system-tests-22', | ||
| + ':streams:upgrade-system-tests-23', | ||
| + ':streams:upgrade-system-tests-24', | ||
| + ':streams:upgrade-system-tests-25', | ||
| + ':streams:upgrade-system-tests-26', | ||
| + ':streams:upgrade-system-tests-27', | ||
| + ':streams:upgrade-system-tests-28', | ||
| + ':streams:upgrade-system-tests-30', | ||
| + ':streams:upgrade-system-tests-31', | ||
| + ':streams:upgrade-system-tests-32', | ||
| + ':streams:upgrade-system-tests-33', | ||
| + ':streams:upgrade-system-tests-34', | ||
| + ':streams:upgrade-system-tests-35', | ||
| + ':streams:upgrade-system-tests-36', | ||
| + ':streams:upgrade-system-tests-37', | ||
| + ':streams:upgrade-system-tests-38', | ||
| + ':streams:upgrade-system-tests-39', | ||
| + ':streams:upgrade-system-tests-40', | ||
| + ':streams:upgrade-system-tests-41', | ||
| +] | ||
| + | ||
| +configure(subprojects.findAll { skipCyclonedxProjects.contains(it.path) }) { | ||
| + tasks.named('cyclonedxDirectBom') { | ||
| + enabled = false | ||
| + } | ||
| +} | ||
| + | ||
| ext { | ||
| minClientJavaVersion = 11 | ||
| minNonClientJavaVersion = 17 |
35 changes: 35 additions & 0 deletions
35
kafka/stackable/patches/4.2.1/0002-Change-Gradle-to-use-the-Nexus-Build-Repo.patch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| From e4e184668e99d71e2cbdebfd55ef4ba3322a6508 Mon Sep 17 00:00:00 2001 | ||
| From: Razvan-Daniel Mihai <84674+razvan@users.noreply.github.com> | ||
| Date: Wed, 13 May 2026 16:31:44 +0300 | ||
| Subject: Change Gradle to use the Nexus Build Repo | ||
|
|
||
| --- | ||
| build.gradle | 8 ++++++-- | ||
| 1 file changed, 6 insertions(+), 2 deletions(-) | ||
|
|
||
| diff --git a/build.gradle b/build.gradle | ||
| index effbe0f65d..bd840210bd 100644 | ||
| --- a/build.gradle | ||
| +++ b/build.gradle | ||
| @@ -18,7 +18,9 @@ import java.nio.charset.StandardCharsets | ||
|
|
||
| buildscript { | ||
| repositories { | ||
| - mavenCentral() | ||
| + maven { | ||
| + url 'https://build-repo.stackable.tech/repository/maven-public/' | ||
| + } | ||
| } | ||
| apply from: "$rootDir/gradle/dependencies.gradle" | ||
|
|
||
| @@ -212,7 +214,9 @@ ext { | ||
| allprojects { | ||
|
|
||
| repositories { | ||
| - mavenCentral() | ||
| + maven { | ||
| + url 'https://build-repo.stackable.tech/repository/maven-public/' | ||
| + } | ||
| } | ||
|
|
||
| dependencyUpdates { |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.