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

feat(merge): merge apache kafka 3.9 398b4c4fa1a5678be28a3fb9196ba4553f356291 #2105

Merged
merged 124 commits into from
Oct 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
f26f0b6
tests/kafkatest/version.py: Add 3.9.0 as DEV_VERSION
cmccabe Jul 29, 2024
a4ea9ae
KAFKA-16448: Add ErrorHandlerContext in production exception handler …
sebastienviale Jul 30, 2024
10d9f78
KAFKA-16448: Add ErrorHandlerContext in deserialization exception han…
sebastienviale Jul 30, 2024
b853207
HOTFIX: fix compilation error
mjsax Jul 30, 2024
bc243ab
MINOR: Add 3.8.0 to system tests (#16714)
jlprat Jul 30, 2024
0969789
KAFKA-15469: Add documentation for configuration providers (#16650)
PaulRMellor Jul 30, 2024
b8c54c3
KAFKA-17214: Add 3.8.0 version to streams system tests (#16728)
jlprat Jul 30, 2024
3d2ea54
KAFKA-17214: Add 3.8.0 version to core and client system tests (#16726)
jlprat Jul 30, 2024
0370a64
MINOR: Add text and link to blog in announcement template email (#16734)
jlprat Jul 30, 2024
c8dc09c
KAFKA-16448: Handle fatal user exception during processing error (#16…
sebastienviale Jul 31, 2024
fbdfd0d
KAFKA-16666 Migrate OffsetMessageFormatter to tools module (#16689)
m1a2st Jul 31, 2024
ccb04ac
Revert "KAFKA-16508: Streams custom handler should handle the timeout…
mjsax Jul 31, 2024
aaed1bd
KAFKA-16448: Unify class cast exception handling for both key and val…
loicgreffier Jul 31, 2024
2c957a6
MINOR: simplify code which calles `Punctuator.punctuate()` (#16725)
mjsax Jul 31, 2024
578fef2
KAFKA-16448: Handle processing exceptions in punctuate (#16300)
sebastienviale Jul 31, 2024
25f0480
KAFKA-16521; kafka-metadata-quorum describe command changes for KIP-8…
ahuang98 Aug 1, 2024
60e1478
KAFKA-17192 Fix MirrorMaker2 worker config does not pass config.provi…
k0b3rIT Jul 31, 2024
fbb598c
KAFKA-16666 Migrate GroupMetadataMessageFormatter` to tools module (#…
m1a2st Aug 2, 2024
4afe5f3
KAFKA-16448: Update documentation (#16776)
sebastienviale Aug 2, 2024
6b039ce
KAFKA-16390: add `group.coordinator.rebalance.protocols=classic,consu…
frankvicky Aug 2, 2024
4e75c57
KAFKA-17245: Revert TopicRecord changes. (#16780)
frankvicky Aug 3, 2024
66485b0
KAFKA-16480: ListOffsets change should have an associated API/IBP ver…
FrankYang0529 Aug 3, 2024
38db4c4
KAFKA-17205: Allow topic config validation in controller level in KRa…
showuon Jul 30, 2024
b622121
KAFKA-16855: remote log disable policy in KRaft (#16653)
showuon Aug 3, 2024
2ddbfeb
KAFKA-16448: Unify error-callback exception handling (#16745)
mjsax Aug 3, 2024
b65644c
KAFKA-16154: Broker returns offset for LATEST_TIERED_TIMESTAMP (#16783)
brandboat Aug 5, 2024
c7d0212
KAFKA-17227: Update zstd-jni lib (#16763)
jlprat Aug 5, 2024
129e7fb
KAFKA-16518: Implement KIP-853 flags for storage-tool.sh (#16669)
cmccabe Aug 2, 2024
81edb74
KAFKA-16533; Update voter handling
jsancio Jul 30, 2024
4537c8a
KAFKA-17235 system test test_performance_service.py failed (#16789)
brandboat Aug 6, 2024
4e6508b
KAFKA-17227: Refactor compression code to only load codecs when used …
mimaison Aug 6, 2024
c736d02
KAFKA-16584: Make log processing summary configurable or debug--updat…
dujian0068 Aug 6, 2024
dd5e7a8
KAFKA-17276; replicaDirectoryId for Fetch and FetchSnapshot should be…
m1a2st Aug 8, 2024
7fe3cec
KAFKA-17236: Handle local log deletion when remote.log.copy.disabled=…
showuon Aug 8, 2024
0b57b36
KAFKA-17232: Do not generate task configs in MirrorCheckpointConnecto…
frankvicky Aug 8, 2024
9230a38
KAFKA-17242: Do not log spurious timeout message for MirrorCheckpoint…
wernerdv Aug 8, 2024
b048798
KAFKA-16521: Have Raft endpoints printed as name://host:port (#16830)
ahuang98 Aug 8, 2024
c4cc6d2
KAFKA-17223 Retrying the call after encoutering UnsupportedVersionExc…
FrankYang0529 Aug 8, 2024
75cf360
KAFKA-16523; kafka-metadata-quorum: support add-controller and remove…
cmccabe Aug 8, 2024
682299a
KAFKA-16534; Implemeent update voter sending (#16837)
jsancio Aug 8, 2024
5c97ab0
KAFKA-17067; Fix KRaft transition to CandidateState (#16820)
ahuang98 Aug 10, 2024
fccae40
KAFKA-17310 locking the offline dir can destroy the broker exceptiona…
brandboat Aug 12, 2024
161c8c6
KAFKA-17190: AssignmentsManager gets stuck retrying on deleted topics…
cmccabe Aug 10, 2024
b53dfeb
KAFKA-17018: update MetadataVersion for the Kafka release 3.9 (#16841)
cmccabe Aug 12, 2024
df5c31e
Kafka 16887 : Upgrade the document to add remote copy/fetch quotas me…
Nancy-ksolves Aug 13, 2024
500dc27
KAFKA-17300: Add document for new tiered storage feature in v3.9.0. (…
showuon Aug 13, 2024
32346c6
KAFKA-17319 change ListOffsetsRequest latestVersionUnstable to false …
m1a2st Aug 13, 2024
4110704
KAFKA-17309 Fix flaky testCallFailWithUnsupportedVersionExceptionDoes…
FrankYang0529 Aug 13, 2024
4ea3b61
KAFKA-17304; Make RaftClient API for writing to log explicit (#16862)
jsancio Aug 14, 2024
ba19957
KAFKA-17326 The LIST_OFFSET request is removed from the "Api Keys" pa…
m1a2st Aug 15, 2024
3b90bba
MINOR: Fix visibility for classes exposed outside of their scope (#16…
jlprat Aug 15, 2024
bcf4c73
KAFKA-17238 Move VoterSet and ReplicaKey from raft.internals to raft …
frankvicky Aug 15, 2024
ed7cadd
KAFKA-16842; Fix config validation and support unknown voters (#16892)
jsancio Aug 16, 2024
313af4e
KAFKA-17332; Controller always flush and can call resign on observers…
jsancio Aug 20, 2024
b7a97e7
KAFKA-17169: Add EndpointsTest (#16659)
masonyc Aug 20, 2024
321ab71
KAFKA-17279: Handle retriable errors from offset fetches (#16826) (#1…
squah-confluent Aug 21, 2024
283b82d
KAFKA-17333; ResignedState should not notify of leader change (#16900)
jsancio Aug 20, 2024
b377ea9
KAFKA-17305; Check broker registrations for missing features (#16848)
ahuang98 Aug 21, 2024
29bbb65
KAFKA-17336 Add IT to make sure the production MV does not use unstab…
m1a2st Aug 22, 2024
1f6d5ae
MINOR: fix HTML for topology.optimization config (#16953)
mjsax Aug 22, 2024
dcb4578
KAFKA-17315 Fix the behavior of delegation tokens that expire immedia…
frankvicky Aug 24, 2024
db686fb
KAFKA-17331 Set correct version for EarliestLocalSpec and LatestTiere…
frankvicky Aug 25, 2024
6d2b81e
KAFKA-17360 local log retention ms/bytes "-2" is not treated correctl…
brandboat Aug 25, 2024
a19792f
KAFKA-17422: Adding copySegmentLatch countdown after expiration task …
iit2009060 Aug 28, 2024
a87b501
KAFKA-17335 Lack of default for URL encoding configuration for OAuth …
kirktrue Aug 28, 2024
145fa49
KAFKA-17426; Check node directory id for KRaft (#17017)
jsancio Aug 28, 2024
e5f47ba
KAFKA-15406: Add the ForwardingManager metrics from KIP-938 (#16904)
kevin-wu24 Aug 27, 2024
a4728f5
KAFKA-15746: KRaft support in ControllerMutationQuotaTest (#16620)
wernerdv Jul 30, 2024
7356328
KAFKA-12670: Support configuring unclean leader election in KRaft (#1…
cmccabe Aug 28, 2024
fbaea5f
KAFKA-17062: handle dangling "copy_segment_start" state when deleting…
showuon Aug 29, 2024
d9ebb2e
MINOR: Add experimental message for the native docker image (#17041)
kagarwal06 Aug 29, 2024
c7cc4d0
KAFKA-17434: Do not test impossible scenarios in upgrade_test.py (#17…
cmccabe Aug 29, 2024
a954ad1
KAFKA-17331 Throw unsupported version exception if the server does NO…
FrankYang0529 Sep 1, 2024
28f5ff6
KAFKA-17412: add doc for `unclean.leader.election.enable` in KRaft (#…
showuon Sep 3, 2024
4756402
MINOR: Reduce log levels for transactions_mixed_versions_test with 3.…
jolshan Aug 12, 2024
14e1ebe
KAFKA-17454 Fix failed transactions_mixed_versions_test.py when runni…
frankvicky Sep 4, 2024
3cabf33
MINOR: Update doc for tiered storage GA (#17088)
showuon Sep 5, 2024
74d55ca
KAFKA-16448: Add timestamp to error handler context (#17054)
sebastienviale Sep 5, 2024
d067ed0
KAFKA-17457 Don't allow ZK migration to start without transactions (#…
mumrah Sep 6, 2024
034780d
KAFKA-15648 Update leader volatile before handleLeaderChange in Local…
mumrah Sep 6, 2024
4b6437e
KAFKA-17497 Add e2e for zk migration with old controller (#17131)
frankvicky Sep 10, 2024
e885daf
KAFKA-17492 skip features with minVersion of 0 instead of replacing 0…
m1a2st Sep 10, 2024
f7fe4b9
KAFKA-17458 Add 3.8 to transactions_upgrade_test.py, transactions_mix…
xijiu Sep 10, 2024
6d3e775
KAFKA-15793 Fix ZkMigrationIntegrationTest#testMigrateTopicDeletions …
mumrah Sep 6, 2024
5a4d2b4
MINOR: Few cleanups
soondenana Sep 9, 2024
4734077
KAFKA-17506 KRaftMigrationDriver initialization race (#17147)
mumrah Sep 11, 2024
4f0675d
KAFKA-17489: Do not handle failed tasks as tasks to assign (#17115)
cadonna Sep 13, 2024
7d3ba8a
KAFKA-16468: verify that migrating brokers provide their inter.broker…
cmccabe Sep 13, 2024
b434394
KAFKA-17527: Fix NPE for null RecordContext (#17169)
mjsax Sep 13, 2024
a1a4389
KAFKA-17543: Enforce that broker.id.generation.enable is not used whe…
cmccabe Sep 14, 2024
f324ef4
MINOR: update documentation link to 3.9 (#17216)
cmccabe Sep 17, 2024
389a8d8
Revert "KAFKA-16803: Change fork, update ShadowJavaPlugin to 8.1.7 (#…
cmccabe Sep 17, 2024
c141acb
KAFKA-17048; Update docs for KIP-853 (#17076)
jsancio Sep 18, 2024
8309199
KAFKA-17543: Improve and clarify the error message about generated br…
scholzj Sep 18, 2024
7d14cd6
KAFKA-17459 Stablize reassign_partitions_test.py (#17250)
frankvicky Sep 24, 2024
333483a
MINOR: add a space for kafka.metrics.polling.interval.secs descriptio…
m1a2st Sep 24, 2024
e36c82d
MINOR: Replace gt and lt char with html encoding (#17235)
jsancio Sep 24, 2024
57b098c
KAFKA-17584: Fix incorrect synonym handling for dynamic log configura…
cmccabe Sep 26, 2024
c2c2dd4
KAFKA-16963: Ducktape test for KIP-853 (#17081)
ahuang98 Sep 6, 2024
89cb632
KAFKA-17608, KAFKA-17604, KAFKA-16963; KRaft controller crashes when …
ahuang98 Sep 26, 2024
2cbc5bd
KAFKA-17636 Fix missing SCRAM bootstrap records (#17305)
mumrah Sep 28, 2024
edd77c1
MINOR: Need to split the controller bootstrap servers on ',' in list …
bbejeck Sep 15, 2024
5c95a5d
MINOR: Fix kafkatest advertised listeners (#17294)
ahuang98 Sep 30, 2024
550bf60
KAFKA-16927; Handle expanding leader endpoints (#17363)
jsancio Oct 4, 2024
1d54a73
KAFKA-17146 Include note to remove migration znode (#16770)
mumrah Aug 4, 2024
0a70c3a
KAFKA-17714 Fix StorageToolTest.scala to compile under Scala 2.12 (#1…
cmccabe Oct 8, 2024
8af063a
KAFKA-17735: release.py must not use home.apache.org (#17421)
cmccabe Oct 8, 2024
ab6dafa
KAFKA-17751; fix pollTimeout calculation in pollFollowerAsVoter (#17434)
gaurav-narula Oct 9, 2024
bf95a32
KAFKA-17753: Update protobuf and commons-io dependencies (#17436)
cmccabe Oct 9, 2024
db4c80a
KAFKA-17731: Removed timed waiting signal for client telemetry close …
apoorvmittal10 Oct 10, 2024
4878174
KAFKA-16972 Move BrokerTopicMetrics to org.apache.kafka.storage.log.m…
FrankYang0529 Jul 30, 2024
44f15cc
KAFKA-17749: Fix Throttler metrics name
mimaison Oct 10, 2024
8c3c6c3
KAFKA-17193: Pin all external GitHub Actions to the specific git hash…
mumrah Oct 10, 2024
51253e2
KAFKA-17520 align the low bound of ducktape version (#17481)
m1a2st Oct 14, 2024
796ce21
KAFKA-17788: During ZK migration, always include control.plane.listen…
cmccabe Oct 15, 2024
abd4bf0
KAFKA-17790: Document that control.plane.listener should be removed b…
cmccabe Oct 15, 2024
de9a719
KAFKA-17810 upgrade Jetty because of CVE-2024-8184 (#17517)
jlprat Oct 17, 2024
7842e25
KAFKA-17031: Make RLM thread pool configurations public and fix defau…
fvaleri Oct 21, 2024
c821449
KAFKA-17794: Add some formatting safeguards for KIP-853 (#17504)
cmccabe Oct 21, 2024
398b4c4
KAFKA-17868: Do not ignore --feature flag in kafka-storage.sh (#17597)
cmccabe Oct 25, 2024
fbd0c7c
fix(merge): fix conflict
superhx Oct 31, 2024
2854533
fix(merge): fix compile error
superhx Oct 31, 2024
7e759ba
fix(merge): fix automq version
superhx Oct 31, 2024
0e84ac7
fix(merge): fix unit test
superhx Oct 31, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/docker_build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
run: |
python docker_build_test.py kafka/test -tag=test -type=${{ github.event.inputs.image_type }} -u=${{ github.event.inputs.kafka_url }}
- name: Run CVE scan
uses: aquasecurity/trivy-action@master
uses: aquasecurity/trivy-action@6e7b7d1fd3e4fef0c5fa8cce1229c54b2c9bd0d8 # v0.24.0
with:
image-ref: 'kafka/test:test'
format: 'table'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
run: |
python docker_official_image_build_test.py kafka/test -tag=test -type=${{ github.event.inputs.image_type }} -v=${{ github.event.inputs.kafka_version }}
- name: Run CVE scan
uses: aquasecurity/trivy-action@master
uses: aquasecurity/trivy-action@6e7b7d1fd3e4fef0c5fa8cce1229c54b2c9bd0d8 # v0.24.0
with:
image-ref: 'kafka/test:test'
format: 'table'
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/docker_promote.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1
- name: Login to Docker Hub
uses: docker/login-action@v3
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/docker_rc_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,11 @@ jobs:
python -m pip install --upgrade pip
pip install -r docker/requirements.txt
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1
- name: Login to Docker Hub
uses: docker/login-action@v3
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker_scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
supported_image_tag: ['latest', '3.7.0']
steps:
- name: Run CVE scan
uses: aquasecurity/trivy-action@master
uses: aquasecurity/trivy-action@6e7b7d1fd3e4fef0c5fa8cce1229c54b2c9bd0d8 # v0.24.0
if: always()
with:
image-ref: apache/kafka:${{ matrix.supported_image_tag }}
Expand Down
64 changes: 42 additions & 22 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ plugins {
// be dropped from gradle/resources/dependencycheck-suppressions.xml
id "com.github.spotbugs" version '5.1.3' apply false
id 'org.scoverage' version '8.0.3' apply false
id 'io.github.goooler.shadow' version '8.1.3' apply false
// Updating the shadow plugin version to 8.1.1 causes issue with signing and publishing the shadowed
// artifacts - see https://github.com/johnrengelman/shadow/issues/901
id 'com.github.johnrengelman.shadow' version '8.1.0' apply false
// Spotless 6.13.0 has issue with Java 21 (see https://github.com/diffplug/spotless/pull/1920), and Spotless 6.14.0+ requires JRE 11
// 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
Expand Down Expand Up @@ -162,8 +164,8 @@ allprojects {
// ZooKeeper (potentially older and containing CVEs)
libs.nettyHandler,
libs.nettyTransportNativeEpoll,
// be explicit about the reload4j version instead of relying on the transitive versions
libs.reload4j
// be explicit about the reload4j version instead of relying on the transitive versions
libs.reload4j
)
}
}
Expand Down Expand Up @@ -295,7 +297,7 @@ subprojects {
if (!shouldPublishWithShadow) {
from components.java
} else {
apply plugin: 'io.github.goooler.shadow'
apply plugin: 'com.github.johnrengelman.shadow'
project.shadow.component(mavenJava)

// Fix for avoiding inclusion of runtime dependencies marked as 'shadow' in MANIFEST Class-Path.
Expand Down Expand Up @@ -728,7 +730,7 @@ subprojects {
jacoco {
toolVersion = versions.jacoco
}

jacocoTestReport {
dependsOn tasks.test
sourceSets sourceSets.main
Expand All @@ -752,8 +754,8 @@ subprojects {
skipProjects = [ ":jmh-benchmarks", ":trogdor" ]
skipConfigurations = [ "zinc" ]
}
// the task `removeUnusedImports` is implemented by google-java-format,
// and unfortunately the google-java-format version used by spotless 6.14.0 can't work with JDK 21.
// the task `removeUnusedImports` is implemented by google-java-format,
// and unfortunately the google-java-format version used by spotless 6.14.0 can't work with JDK 21.
// Hence, we apply spotless tasks only if the env is either JDK11 or JDK17
if ((JavaVersion.current().isJava11() || (JavaVersion.current() == JavaVersion.VERSION_17))) {
apply plugin: 'com.diffplug.spotless'
Expand Down Expand Up @@ -835,6 +837,7 @@ project(':server') {

dependencies {
implementation project(':clients')
implementation project(':metadata')
implementation project(':server-common')
implementation project(':storage')
implementation project(':group-coordinator')
Expand Down Expand Up @@ -944,6 +947,7 @@ project(':core') {
implementation libs.scalaReflect
implementation libs.scalaLogging
implementation libs.slf4jApi
implementation libs.commonsIo // ZooKeeper dependency. Do not use, this is going away.
implementation(libs.zookeeper) {
// Dropwizard Metrics are required by ZooKeeper as of v3.6.0,
// but the library should *not* be used in Kafka code
Expand Down Expand Up @@ -1220,7 +1224,7 @@ project(':core') {
//By default gradle does not handle test dependencies between the sub-projects
//This line is to include clients project test jar to dependant-testlibs
from (project(':clients').testJar ) { "$buildDir/dependant-testlibs" }
// log4j-appender is not in core dependencies,
// log4j-appender is not in core dependencies,
// so we add it to dependant-testlibs to avoid ClassNotFoundException in running kafka_log4j_appender.py
from (project(':log4j-appender').jar ) { "$buildDir/dependant-testlibs" }
duplicatesStrategy 'exclude'
Expand Down Expand Up @@ -1480,7 +1484,7 @@ project(':transaction-coordinator') {
implementation project(':clients')
generator project(':generator')
}

sourceSets {
main {
java {
Expand Down Expand Up @@ -1571,6 +1575,7 @@ project(':clients') {
implementation libs.snappy
implementation libs.slf4jApi
implementation libs.opentelemetryProto
implementation libs.protobuf

// libraries which should be added as runtime dependencies in generated pom.xml should be defined here:
shadowed libs.zstd
Expand Down Expand Up @@ -1755,6 +1760,7 @@ project(':raft') {
testImplementation libs.junitJupiter
testImplementation libs.mockitoCore
testImplementation libs.jqwik
testImplementation libs.hamcrest

testRuntimeOnly libs.slf4jReload4j
testRuntimeOnly libs.junitPlatformLanucher
Expand Down Expand Up @@ -2217,21 +2223,15 @@ project(':tools') {
}

dependencies {
implementation (project(':clients')){
exclude group: 'org.slf4j', module: '*'
}
implementation (project(':server-common')){
exclude group: 'org.slf4j', module: '*'
}
implementation (project(':log4j-appender')){
exclude group: 'org.slf4j', module: '*'
}
implementation project(':automq-shell')

implementation project(':clients')
implementation project(':metadata')
implementation project(':storage')
implementation project(':server')
implementation project(':server-common')
implementation project(':connect:runtime')
implementation project(':tools:tools-api')
implementation project(':transaction-coordinator')
implementation project(':group-coordinator')
implementation libs.argparse4j
implementation libs.jacksonDatabind
implementation libs.jacksonDataformatCsv
Expand All @@ -2243,6 +2243,10 @@ project(':tools') {
implementation libs.hdrHistogram
implementation libs.spotbugsAnnotations

// AutoMQ inject start
implementation project(':automq-shell')
// AutoMQ inject end

// for SASL/OAUTHBEARER JWT validation
implementation (libs.jose4j){
exclude group: 'org.slf4j', module: '*'
Expand Down Expand Up @@ -2279,7 +2283,7 @@ project(':tools') {
testImplementation project(':connect:runtime')
testImplementation project(':connect:runtime').sourceSets.test.output
testImplementation project(':storage:storage-api').sourceSets.main.output
testImplementation project(':group-coordinator')
testImplementation project(':storage').sourceSets.test.output
testImplementation libs.junitJupiter
testImplementation libs.mockitoCore
testImplementation libs.mockitoJunitJupiter // supports MockitoExtension
Expand Down Expand Up @@ -2577,6 +2581,7 @@ project(':streams') {
':streams:upgrade-system-tests-35:test',
':streams:upgrade-system-tests-36:test',
':streams:upgrade-system-tests-37:test',
':streams:upgrade-system-tests-38:test',
':streams:examples:test'
]
)
Expand Down Expand Up @@ -3076,9 +3081,24 @@ project(':streams:upgrade-system-tests-37') {
}
}

project(':streams:upgrade-system-tests-38') {
base {
archivesName = "kafka-streams-upgrade-system-tests-38"
}

dependencies {
testImplementation libs.kafkaStreams_38
testRuntimeOnly libs.junitJupiter
}

systemTestLibs {
dependsOn testJar
}
}

project(':jmh-benchmarks') {

apply plugin: 'io.github.goooler.shadow'
apply plugin: 'com.github.johnrengelman.shadow'

shadowJar {
archiveBaseName = 'kafka-jmh-benchmarks'
Expand Down
4 changes: 4 additions & 0 deletions checkstyle/import-control-metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,10 @@
<subpackage name="migration">
<allow pkg="org.apache.kafka.controller" />
</subpackage>
<subpackage name="storage">
<allow pkg="org.apache.kafka.common.internals" />
<allow pkg="org.apache.kafka.snapshot" />
</subpackage>
<subpackage name="util">
<allow class="org.apache.kafka.common.compress.Compression" exact-match="true" />
</subpackage>
Expand Down
2 changes: 2 additions & 0 deletions checkstyle/import-control-server.xml
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@
<allow pkg="org.apache.kafka.raft" />

<subpackage name="server">
<allow pkg="org.apache.kafka.server" />
<allow pkg="org.apache.kafka.image" />
<subpackage name="metrics">
<allow class="org.apache.kafka.server.authorizer.AuthorizableRequestContext" />
<allow pkg="org.apache.kafka.server.telemetry" />
Expand Down
5 changes: 5 additions & 0 deletions checkstyle/import-control-storage.xml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,11 @@
<allow pkg="org.apache.kafka.coordinator.transaction"/>
</subpackage>

<subpackage name="storage.log">
<allow pkg="org.apache.kafka.server" />
<allow pkg="com.yammer.metrics" />
</subpackage>

<!-- START OF TIERED STORAGE INTEGRATION TEST IMPORT DEPENDENCIES -->
<subpackage name="tiered.storage">
<allow pkg="scala" />
Expand Down
12 changes: 11 additions & 1 deletion checkstyle/import-control.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@

<subpackage name="common">
<allow class="org.apache.kafka.clients.consumer.ConsumerRecord" exact-match="true" />
<allow class="org.apache.kafka.clients.NodeApiVersions" exact-match="true" />
<allow class="org.apache.kafka.common.message.ApiMessageType" exact-match="true" />
<disallow pkg="org.apache.kafka.clients" />
<allow pkg="org.apache.kafka.common" exact-match="true" />
Expand Down Expand Up @@ -76,7 +77,10 @@
<allow pkg="net.jpountz.xxhash" />
<allow pkg="org.xerial.snappy" />
<allow pkg="org.apache.kafka.common.compress" />
<allow class="org.apache.kafka.common.record.CompressionType" exact-match="true" />
<allow class="org.apache.kafka.common.record.CompressionType" />
<allow class="org.apache.kafka.common.record.CompressionType.GZIP" />
<allow class="org.apache.kafka.common.record.CompressionType.LZ4" />
<allow class="org.apache.kafka.common.record.CompressionType.ZSTD" />
<allow class="org.apache.kafka.common.record.RecordBatch" exact-match="true" />
</subpackage>

Expand Down Expand Up @@ -150,6 +154,7 @@
</subpackage>

<subpackage name="record">
<allow class="org.apache.kafka.common.config.ConfigDef.Range.between" exact-match="true" />
<allow pkg="org.apache.kafka.common.compress" />
<allow pkg="org.apache.kafka.common.header" />
<allow pkg="org.apache.kafka.common.record" />
Expand Down Expand Up @@ -278,12 +283,16 @@

<subpackage name="tools">
<allow pkg="org.apache.kafka.common"/>
<allow pkg="org.apache.kafka.metadata.properties" />
<allow pkg="org.apache.kafka.network" />
<allow pkg="org.apache.kafka.server.util" />
<allow pkg="kafka.admin" />
<allow pkg="kafka.server" />
<allow pkg="org.apache.kafka.storage.internals" />
<allow pkg="org.apache.kafka.server.config" />
<allow pkg="org.apache.kafka.server.common" />
<allow pkg="org.apache.kafka.server.log.remote.metadata.storage" />
<allow pkg="org.apache.kafka.server.log.remote.storage" />
<allow pkg="org.apache.kafka.clients" />
<allow pkg="org.apache.kafka.clients.admin" />
<allow pkg="org.apache.kafka.clients.producer" />
Expand All @@ -301,6 +310,7 @@
<allow pkg="kafka.utils" />
<allow pkg="scala.collection" />
<allow pkg="org.apache.kafka.coordinator.transaction" />
<allow pkg="org.apache.kafka.coordinator.group" />

<subpackage name="consumer">
<allow pkg="org.apache.kafka.tools"/>
Expand Down
8 changes: 4 additions & 4 deletions checkstyle/suppressions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
<suppress checks="(NPathComplexity|ClassFanOutComplexity|CyclomaticComplexity|ClassDataAbstractionCoupling|FinalLocalVariable|LocalVariableName|MemberName|ParameterName|MethodLength|JavaNCSS|AvoidStarImport)"
files="core[\\/]src[\\/](generated|generated-test)[\\/].+.java$"/>
<suppress checks="NPathComplexity" files="(ClusterTestExtensions|KafkaApisBuilder|SharePartition).java"/>
<suppress checks="NPathComplexity|ClassFanOutComplexity|ClassDataAbstractionCoupling" files="(RemoteLogManager|RemoteLogManagerTest).java"/>
<suppress checks="NPathComplexity|ClassFanOutComplexity|ClassDataAbstractionCoupling|JavaNCSS" files="(RemoteLogManager|RemoteLogManagerTest).java"/>
<suppress checks="MethodLength" files="RemoteLogManager.java"/>
<suppress checks="ClassFanOutComplexity" files="RemoteLogManagerTest.java"/>
<suppress checks="MethodLength"
Expand Down Expand Up @@ -190,11 +190,11 @@

<!-- Raft -->
<suppress checks="NPathComplexity"
files="RecordsIterator.java"/>
files="(DynamicVoter|RecordsIterator).java"/>

<!-- Streams -->
<suppress checks="ClassFanOutComplexity"
files="(KafkaStreams|KStreamImpl|KTableImpl|InternalTopologyBuilder|StreamsPartitionAssignor|StreamThread|IQv2StoreIntegrationTest|KStreamImplTest|RocksDBStore).java"/>
files="(KafkaStreams|KStreamImpl|KTableImpl|InternalTopologyBuilder|StreamsPartitionAssignor|StreamThread|IQv2StoreIntegrationTest|KStreamImplTest|RocksDBStore|StreamTask).java"/>

<suppress checks="MethodLength"
files="KTableImpl.java"/>
Expand Down Expand Up @@ -326,7 +326,7 @@
<suppress checks="(ParameterNumber|ClassDataAbstractionCoupling)"
files="(QuorumController).java"/>
<suppress checks="(CyclomaticComplexity|NPathComplexity)"
files="(PartitionRegistration|PartitionChangeBuilder).java"/>
files="(PartitionRegistration|PartitionChangeBuilder|ScramParser).java"/>
<suppress checks="CyclomaticComplexity"
files="(ClientQuotasImage|KafkaEventQueue|MetadataDelta|QuorumController|ReplicationControlManager|KRaftMigrationDriver|ClusterControlManager|MetaPropertiesEnsemble).java"/>
<suppress checks="NPathComplexity"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,21 @@

import org.apache.kafka.common.annotation.InterfaceStability;

import java.util.Optional;

/**
* Options for {@link Admin#addRaftVoter}.
*/
@InterfaceStability.Stable
public class AddRaftVoterOptions extends AbstractOptions<AddRaftVoterOptions> {
private Optional<String> clusterId = Optional.empty();

public AddRaftVoterOptions setClusterId(Optional<String> clusterId) {
this.clusterId = clusterId;
return this;
}

public Optional<String> clusterId() {
return clusterId;
}
}
Loading
Loading