This is an automated email from the ASF dual-hosted git repository.
schofielaj pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git
The following commit(s) were added to refs/heads/trunk by this push:
new 76f1ce6e55c MINOR: Fix broken KRaftMetadataRequestBenchmark test due
to uninitialised ShareCoordinator (#21214)
76f1ce6e55c is described below
commit 76f1ce6e55c32dd802fbabd78a4f318752c12f15
Author: Sanskar Jhajharia <[email protected]>
AuthorDate: Mon Dec 29 20:34:45 2025 +0530
MINOR: Fix broken KRaftMetadataRequestBenchmark test due to uninitialised
ShareCoordinator (#21214)
Currently the `KRaftMetadataRequestBenchmark` is failing with the
following error:
```
java.lang.RuntimeException: You must set shareCoordinator
at
kafka.server.builders.KafkaApisBuilder.build(KafkaApisBuilder.java:197)
at
org.apache.kafka.jmh.metadata.KRaftMetadataRequestBenchmark.createKafkaApis(KRaftMetadataRequestBenchmark.java:210)
at
org.apache.kafka.jmh.metadata.KRaftMetadataRequestBenchmark.setup(KRaftMetadataRequestBenchmark.java:134)
at
org.apache.kafka.jmh.metadata.jmh_generated.KRaftMetadataRequestBenchmark_testRequestToJson_jmhTest._jmh_tryInit_f_kraftmetadatarequestbenchmark0_G(KRaftMetadataRequestBenchmark_testRequestToJson_jmhTest.java:451)
at
org.apache.kafka.jmh.metadata.jmh_generated.KRaftMetadataRequestBenchmark_testRequestToJson_jmhTest.testRequestToJson_AverageTime(KRaftMetadataRequestBenchmark_testRequestToJson_jmhTest.java:164)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at
org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:527)
at
org.openjdk.jmh.runner.BenchmarkHandler$BenchmarkTask.call(BenchmarkHandler.java:504)
at
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at
java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
```
After the fix, here are the results:
```
./jmh-benchmarks/jmh.sh -f 1 -i 2 -wi 2
org.apache.kafka.jmh.metadata.KRaftMetadataRequestBenchmark
Benchmark
(partitionCount) (topicCount) Mode Cnt Score Error Units
KRaftMetadataRequestBenchmark.testMetadataRequestForAllTopics
10 500 avgt 2 802296.940 ns/op
KRaftMetadataRequestBenchmark.testMetadataRequestForAllTopics
10 1000 avgt 2 1554324.508 ns/op
KRaftMetadataRequestBenchmark.testMetadataRequestForAllTopics
10 5000 avgt 2 20675689.357 ns/op
KRaftMetadataRequestBenchmark.testMetadataRequestForAllTopics
20 500 avgt 2 1202763.607 ns/op
KRaftMetadataRequestBenchmark.testMetadataRequestForAllTopics
20 1000 avgt 2 2759721.061 ns/op
KRaftMetadataRequestBenchmark.testMetadataRequestForAllTopics
20 5000 avgt 2 26355078.691 ns/op
KRaftMetadataRequestBenchmark.testMetadataRequestForAllTopics
50 500 avgt 2 3186329.977 ns/op
KRaftMetadataRequestBenchmark.testMetadataRequestForAllTopics
50 1000 avgt 2 6383024.540 ns/op
KRaftMetadataRequestBenchmark.testMetadataRequestForAllTopics
50 5000 avgt 2 49264850.641 ns/op
KRaftMetadataRequestBenchmark.testRequestToJson
10 500 avgt 2 375.849 ns/op
KRaftMetadataRequestBenchmark.testRequestToJson
10 1000 avgt 2 402.769 ns/op
KRaftMetadataRequestBenchmark.testRequestToJson
10 5000 avgt 2 380.075 ns/op
KRaftMetadataRequestBenchmark.testRequestToJson
20 500 avgt 2 377.686 ns/op
KRaftMetadataRequestBenchmark.testRequestToJson
20 1000 avgt 2 380.253 ns/op
KRaftMetadataRequestBenchmark.testRequestToJson
20 5000 avgt 2 389.466 ns/op
KRaftMetadataRequestBenchmark.testRequestToJson
50 500 avgt 2 385.464 ns/op
KRaftMetadataRequestBenchmark.testRequestToJson
50 1000 avgt 2 390.164 ns/op
KRaftMetadataRequestBenchmark.testRequestToJson
50 5000 avgt 2 408.207 ns/op
```
Reviewers: Andrew Schofield <[email protected]>
---
build.gradle | 1 +
checkstyle/import-control-jmh-benchmarks.xml | 1 +
.../org/apache/kafka/jmh/metadata/KRaftMetadataRequestBenchmark.java | 3 +++
3 files changed, 5 insertions(+)
diff --git a/build.gradle b/build.gradle
index 5b6714f8822..11900d60440 100644
--- a/build.gradle
+++ b/build.gradle
@@ -3425,6 +3425,7 @@ project(':jmh-benchmarks') {
implementation project(':group-coordinator')
implementation project(':group-coordinator:group-coordinator-api')
implementation project(':metadata')
+ implementation project(':share-coordinator')
implementation project(':storage')
implementation project(':streams')
implementation project(':transaction-coordinator')
diff --git a/checkstyle/import-control-jmh-benchmarks.xml
b/checkstyle/import-control-jmh-benchmarks.xml
index 1f8eda2f98c..03943f45512 100644
--- a/checkstyle/import-control-jmh-benchmarks.xml
+++ b/checkstyle/import-control-jmh-benchmarks.xml
@@ -46,6 +46,7 @@
<allow pkg="org.apache.kafka.clients"/>
<allow pkg="org.apache.kafka.coordinator.common.runtime"/>
<allow pkg="org.apache.kafka.coordinator.group"/>
+ <allow pkg="org.apache.kafka.coordinator.share"/>
<allow pkg="org.apache.kafka.image"/>
<allow pkg="org.apache.kafka.metadata"/>
<allow pkg="org.apache.kafka.timeline" />
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/KRaftMetadataRequestBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/KRaftMetadataRequestBenchmark.java
index cc311248ddd..7768cdfa92f 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/KRaftMetadataRequestBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/KRaftMetadataRequestBenchmark.java
@@ -48,6 +48,7 @@ import org.apache.kafka.common.security.auth.SecurityProtocol;
import org.apache.kafka.common.utils.Time;
import org.apache.kafka.coordinator.group.GroupConfigManager;
import org.apache.kafka.coordinator.group.GroupCoordinator;
+import org.apache.kafka.coordinator.share.ShareCoordinator;
import org.apache.kafka.image.MetadataDelta;
import org.apache.kafka.image.MetadataImage;
import org.apache.kafka.image.MetadataProvenance;
@@ -116,6 +117,7 @@ public class KRaftMetadataRequestBenchmark {
clientQuotaManager, clientRequestQuotaManager,
controllerMutationQuotaManager, replicaQuotaManager,
replicaQuotaManager, replicaQuotaManager, Optional.empty());
private final FetchManager fetchManager = Mockito.mock(FetchManager.class);
+ private final ShareCoordinator shareCoordinator =
Mockito.mock(ShareCoordinator.class);
private final SharePartitionManager sharePartitionManager =
Mockito.mock(SharePartitionManager.class);
private final ClientMetricsManager clientMetricsManager =
Mockito.mock(ClientMetricsManager.class);
private final GroupConfigManager groupConfigManager =
Mockito.mock(GroupConfigManager.class);
@@ -186,6 +188,7 @@ public class KRaftMetadataRequestBenchmark {
setForwardingManager(forwardingManager).
setReplicaManager(replicaManager).
setGroupCoordinator(groupCoordinator).
+ setShareCoordinator(shareCoordinator).
setTxnCoordinator(transactionCoordinator).
setAutoTopicCreationManager(autoTopicCreationManager).
setBrokerId(brokerId).