This is an automated email from the ASF dual-hosted git repository.
chia7712 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 220ff4f7745 MINOR: Cleanup JMH-Benchmarks Module (#19791)
220ff4f7745 is described below
commit 220ff4f774584dfd8f30431bd7580a1fc453e83c
Author: Sanskar Jhajharia <[email protected]>
AuthorDate: Wed Jul 2 18:23:57 2025 +0530
MINOR: Cleanup JMH-Benchmarks Module (#19791)
Now that Kafka supports Java 17, this PR makes some changes in
jmh-benchmarks module. The changes mostly include:
- Collections.emptyList(), Collections.singletonList() and
Arrays.asList() are replaced with List.of()
- Collections.emptyMap() and Collections.singletonMap() are replaced
with Map.of()
- Collections.singleton() is replaced with Set.of()
Reviewers: Jhen-Yung Hsu <[email protected]>, Ken Huang
<[email protected]>, Chia-Ping Tsai <[email protected]>
---
.../java/org/apache/kafka/jmh/acl/AuthorizerBenchmark.java | 3 +--
.../kafka/jmh/acl/StandardAuthorizerUpdateBenchmark.java | 5 ++---
.../apache/kafka/jmh/assignor/AssignorBenchmarkUtils.java | 6 ++----
.../kafka/jmh/assignor/ClientSideAssignorBenchmark.java | 6 +++---
.../kafka/jmh/assignor/ServerSideAssignorBenchmark.java | 7 +++----
.../kafka/jmh/assignor/ShareGroupAssignorBenchmark.java | 7 +++----
.../jmh/assignor/TargetAssignmentBuilderBenchmark.java | 3 +--
.../apache/kafka/jmh/common/MetadataResponseBenchmark.java | 10 ++++------
.../apache/kafka/jmh/connect/JsonConverterBenchmark.java | 4 ++--
.../java/org/apache/kafka/jmh/connect/ValuesBenchmark.java | 9 ++++-----
.../apache/kafka/jmh/core/TestPurgatoryPerformance.java | 6 +++---
.../kafka/jmh/fetcher/ReplicaFetcherThreadBenchmark.java | 6 ++----
.../kafka/jmh/metadata/KRaftMetadataRequestBenchmark.java | 14 ++++++--------
.../metadata/TopicsImageSingleRecordChangeBenchmark.java | 6 +++---
.../jmh/metadata/TopicsImageSnapshotLoadBenchmark.java | 6 +++---
.../jmh/metadata/TopicsImageZonalOutageBenchmark.java | 10 ++++------
.../jmh/partition/PartitionMakeFollowerBenchmark.java | 8 +++-----
.../jmh/partition/UpdateFollowerFetchStateBenchmark.java | 5 ++---
.../kafka/jmh/producer/ProducerRequestBenchmark.java | 8 +++-----
.../kafka/jmh/producer/ProducerResponseBenchmark.java | 2 +-
.../apache/kafka/jmh/server/PartitionCreationBench.java | 3 +--
21 files changed, 56 insertions(+), 78 deletions(-)
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/acl/AuthorizerBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/acl/AuthorizerBenchmark.java
index d2fb9018df2..4ef4721c823 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/acl/AuthorizerBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/acl/AuthorizerBenchmark.java
@@ -54,7 +54,6 @@ import org.openjdk.jmh.annotations.Warmup;
import java.io.IOException;
import java.net.InetAddress;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -100,7 +99,7 @@ public class AuthorizerBenchmark {
// most map entries. In such cases, we rely on the filtering based on
`String.startsWith`
// to return the matching ACLs. Using a more efficient data structure
(e.g. a prefix
// tree) should improve performance significantly.
- actions = Collections.singletonList(new Action(AclOperation.WRITE,
+ actions = List.of(new Action(AclOperation.WRITE,
new ResourcePattern(ResourceType.TOPIC, resourceNamePrefix + 95,
PatternType.LITERAL),
1, true, true));
authorizeContext = new RequestContext(new
RequestHeader(ApiKeys.PRODUCE, Integer.valueOf(1).shortValue(),
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/acl/StandardAuthorizerUpdateBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/acl/StandardAuthorizerUpdateBenchmark.java
index 5a38fa77fe0..a94a296c68b 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/acl/StandardAuthorizerUpdateBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/acl/StandardAuthorizerUpdateBenchmark.java
@@ -47,7 +47,6 @@ import java.util.List;
import java.util.Random;
import java.util.Set;
import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
import java.util.stream.IntStream;
import static org.apache.kafka.common.acl.AclOperation.READ;
@@ -98,7 +97,7 @@ public class StandardAuthorizerUpdateBenchmark {
return aclsForResource(resourcePattern);
})
.flatMap(Collection::stream)
- .collect(Collectors.toList());
+ .toList();
}
private List<StandardAclWithId> aclsForResource(ResourcePattern pattern) {
@@ -109,7 +108,7 @@ public class StandardAuthorizerUpdateBenchmark {
return new StandardAcl(pattern.resourceType(), pattern.name(),
pattern.patternType(), p, h, READ, ALLOW);
})
.map(this::withId)
- .collect(Collectors.toList());
+ .toList();
}
private StandardAclWithId withId(StandardAcl acl) {
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/AssignorBenchmarkUtils.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/AssignorBenchmarkUtils.java
index eff9cd10f8c..b1efff5cf95 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/AssignorBenchmarkUtils.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/AssignorBenchmarkUtils.java
@@ -35,8 +35,6 @@ import org.apache.kafka.image.MetadataImage;
import org.apache.kafka.image.MetadataProvenance;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -145,7 +143,7 @@ public class AssignorBenchmarkUtils {
return new GroupSpecImpl(
memberSpecs,
subscriptionType,
- Collections.emptyMap()
+ Map.of()
);
}
@@ -335,7 +333,7 @@ public class AssignorBenchmarkUtils {
delta.replay(new PartitionRecord()
.setTopicId(topicId)
.setPartitionId(i)
- .setReplicas(Arrays.asList(i % 4, (i + 1) % 4)));
+ .setReplicas(List.of(i % 4, (i + 1) % 4)));
}
}
}
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/ClientSideAssignorBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/ClientSideAssignorBenchmark.java
index b12b4e1195f..b94cc816891 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/ClientSideAssignorBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/ClientSideAssignorBenchmark.java
@@ -40,11 +40,11 @@ import org.openjdk.jmh.annotations.Threads;
import org.openjdk.jmh.annotations.Warmup;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.Set;
import java.util.concurrent.TimeUnit;
import static
org.apache.kafka.clients.consumer.internals.AbstractStickyAssignor.DEFAULT_GENERATION;
@@ -161,7 +161,7 @@ public class ClientSideAssignorBenchmark {
partitions.addAll(partitionInfos(topicName,
partitionsPerTopicCount, nodes));
}
- metadata = new Cluster("test-cluster", nodes, partitions,
Collections.emptySet(), Collections.emptySet());
+ metadata = new Cluster("test-cluster", nodes, partitions, Set.of(),
Set.of());
}
private void addMemberSubscriptions() {
@@ -230,7 +230,7 @@ public class ClientSideAssignorBenchmark {
return new ConsumerPartitionAssignor.Subscription(
topics,
null,
- Collections.emptyList(),
+ List.of(),
DEFAULT_GENERATION,
rackId
);
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/ServerSideAssignorBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/ServerSideAssignorBenchmark.java
index af1abfdb68b..85d42709788 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/ServerSideAssignorBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/ServerSideAssignorBenchmark.java
@@ -48,7 +48,6 @@ import org.openjdk.jmh.annotations.State;
import org.openjdk.jmh.annotations.Threads;
import org.openjdk.jmh.annotations.Warmup;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -121,7 +120,7 @@ public class ServerSideAssignorBenchmark {
private GroupSpec groupSpec;
- private List<String> allTopicNames = Collections.emptyList();
+ private List<String> allTopicNames = List.of();
private MetadataImage metadataImage = MetadataImage.EMPTY;
@@ -196,14 +195,14 @@ public class ServerSideAssignorBenchmark {
for (String memberId : groupSpec.memberIds()) {
MemberAssignment memberAssignment = members.getOrDefault(
memberId,
- new MemberAssignmentImpl(Collections.emptyMap())
+ new MemberAssignmentImpl(Map.of())
);
updatedMemberSpec.put(memberId, new
MemberSubscriptionAndAssignmentImpl(
groupSpec.memberSubscription(memberId).rackId(),
Optional.empty(),
groupSpec.memberSubscription(memberId).subscribedTopicIds(),
- new
Assignment(Collections.unmodifiableMap(memberAssignment.partitions()))
+ new Assignment(Map.copyOf(memberAssignment.partitions()))
));
}
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/ShareGroupAssignorBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/ShareGroupAssignorBenchmark.java
index 8febd4f0488..99661a9e908 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/ShareGroupAssignorBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/ShareGroupAssignorBenchmark.java
@@ -47,7 +47,6 @@ import org.openjdk.jmh.annotations.State;
import org.openjdk.jmh.annotations.Threads;
import org.openjdk.jmh.annotations.Warmup;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -114,7 +113,7 @@ public class ShareGroupAssignorBenchmark {
private GroupSpec groupSpec;
- private List<String> allTopicNames = Collections.emptyList();
+ private List<String> allTopicNames = List.of();
private TopicIds.TopicResolver topicResolver;
@@ -179,14 +178,14 @@ public class ShareGroupAssignorBenchmark {
for (String memberId : groupSpec.memberIds()) {
MemberAssignment memberAssignment = members.getOrDefault(
memberId,
- new MemberAssignmentImpl(Collections.emptyMap())
+ new MemberAssignmentImpl(Map.of())
);
updatedMemberSpec.put(memberId, new
MemberSubscriptionAndAssignmentImpl(
groupSpec.memberSubscription(memberId).rackId(),
Optional.empty(),
groupSpec.memberSubscription(memberId).subscribedTopicIds(),
- new
Assignment(Collections.unmodifiableMap(memberAssignment.partitions()))
+ new Assignment(Map.copyOf(memberAssignment.partitions()))
));
}
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/TargetAssignmentBuilderBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/TargetAssignmentBuilderBenchmark.java
index c150d94551a..7e21636cc46 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/TargetAssignmentBuilderBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/assignor/TargetAssignmentBuilderBenchmark.java
@@ -45,7 +45,6 @@ import org.openjdk.jmh.annotations.State;
import org.openjdk.jmh.annotations.Threads;
import org.openjdk.jmh.annotations.Warmup;
-import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -90,7 +89,7 @@ public class TargetAssignmentBuilderBenchmark {
private Map<Uuid, Map<Integer, String>> invertedTargetAssignment;
- private List<String> allTopicNames = Collections.emptyList();
+ private List<String> allTopicNames = List.of();
private MetadataImage metadataImage;
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/common/MetadataResponseBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/common/MetadataResponseBenchmark.java
index 709f257f37d..bd01befbdaa 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/common/MetadataResponseBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/common/MetadataResponseBenchmark.java
@@ -38,12 +38,10 @@ import org.openjdk.jmh.runner.Runner;
import org.openjdk.jmh.runner.RunnerException;
import org.openjdk.jmh.runner.options.OptionsBuilder;
-import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
import java.util.stream.IntStream;
@State(Scope.Benchmark)
@@ -66,14 +64,14 @@ public class MetadataResponseBenchmark {
new TopicPartition("benchmark", 42),
Optional.of(4),
Optional.of(42),
- IntStream.range(0, nodes).boxed().collect(Collectors.toList()),
- IntStream.range(0, nodes).filter(i1 -> i1 % 3 !=
0).boxed().collect(Collectors.toList()),
- IntStream.range(0, nodes).filter(i2 -> i2 % 3 ==
0).boxed().collect(Collectors.toList()));
+ IntStream.range(0, nodes).boxed().toList(),
+ IntStream.range(0, nodes).filter(i1 -> i1 % 3 !=
0).boxed().toList(),
+ IntStream.range(0, nodes).filter(i2 -> i2 % 3 ==
0).boxed().toList());
nodesById = new HashMap<>(nodes);
for (int i = 0; i < nodes; i++) {
nodesById.put(i, new Node(i, "localhost", 1234));
}
- nodesById = Collections.unmodifiableMap(nodesById);
+ nodesById = Map.copyOf(nodesById);
}
@Benchmark
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/connect/JsonConverterBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/connect/JsonConverterBenchmark.java
index 35998a70ef0..bd9456e14cc 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/connect/JsonConverterBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/connect/JsonConverterBenchmark.java
@@ -36,7 +36,7 @@ import org.openjdk.jmh.infra.BenchmarkParams;
import org.openjdk.jmh.infra.Blackhole;
import java.nio.charset.Charset;
-import java.util.Collections;
+import java.util.Map;
import java.util.concurrent.TimeUnit;
@State(Scope.Benchmark)
@@ -426,7 +426,7 @@ public class JsonConverterBenchmark {
public void setup(BenchmarkParams params) {
converter = new
JsonConverter(Boolean.parseBoolean(params.getParam("blackbirdModule")));
- converter.configure(Collections.emptyMap(), false);
+ converter.configure(Map.of(), false);
}
@Benchmark
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/connect/ValuesBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/connect/ValuesBenchmark.java
index 92e37d6fba2..a5521d9f2b4 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/connect/ValuesBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/connect/ValuesBenchmark.java
@@ -38,9 +38,8 @@ import org.openjdk.jmh.annotations.Warmup;
import org.openjdk.jmh.infra.Blackhole;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
+import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.function.BiFunction;
import java.util.function.Function;
@@ -106,12 +105,12 @@ public class ValuesBenchmark {
new SchemaAndValue(Schema.STRING_SCHEMA, "{\"1\": 2, \"3\": 4}"),
new SchemaAndValue(SchemaBuilder.array(Schema.INT16_SCHEMA), new
short[]{1, 2, 3}),
new SchemaAndValue(SchemaBuilder.map(Schema.STRING_SCHEMA,
Schema.BOOLEAN_SCHEMA),
- Collections.singletonMap("key", true)),
+ Map.of("key", true)),
new SchemaAndValue(STRUCT_SCHEMA, new Struct(STRUCT_SCHEMA)
.put("first", 1)
.put("second", "foo")
- .put("array", Arrays.asList(1, 2, 3))
- .put("map", Collections.singletonMap(1, "value"))
+ .put("array", List.of(1, 2, 3))
+ .put("map", Map.of(1, "value"))
.put("nested", new Struct(FLAT_STRUCT_SCHEMA).put("field",
12))),
};
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/core/TestPurgatoryPerformance.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/core/TestPurgatoryPerformance.java
index bd5137e9fba..68f3a52918c 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/core/TestPurgatoryPerformance.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/core/TestPurgatoryPerformance.java
@@ -72,14 +72,14 @@ public class TestPurgatoryPerformance {
new DelayedOperationPurgatory<>("fake purgatory", 0, 1000);
CompletionQueue queue = new CompletionQueue();
- List<String> gcNames =
gcMXBeans.stream().map(MemoryManagerMXBean::getName).collect(Collectors.toList());
+ List<String> gcNames =
gcMXBeans.stream().map(MemoryManagerMXBean::getName).toList();
CountDownLatch latch = new CountDownLatch(numRequests);
long initialCpuTimeNano =
getProcessCpuTimeNanos(osMXBean).orElseThrow();
long start = System.currentTimeMillis();
Random rand = new Random();
List<FakeOperationKey> keys = IntStream.range(0, numKeys)
.mapToObj(i -> new FakeOperationKey(format("fakeKey%d",
rand.nextInt(numPossibleKeys))))
- .collect(Collectors.toList());
+ .toList();
AtomicLong requestArrivalTime = new AtomicLong(start);
AtomicLong end = new AtomicLong(0);
@@ -313,7 +313,7 @@ public class TestPurgatoryPerformance {
}
public void printStats() {
- List<Long> samples =
this.samples.stream().sorted().collect(Collectors.toList());
+ List<Long> samples = this.samples.stream().sorted().toList();
long p75 = samples.get((int) (samples.size() * 0.75d));
long p50 = samples.get((int) (samples.size() * 0.5d));
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/fetcher/ReplicaFetcherThreadBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/fetcher/ReplicaFetcherThreadBenchmark.java
index c05f3001b9f..0a69a431c0e 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/fetcher/ReplicaFetcherThreadBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/fetcher/ReplicaFetcherThreadBenchmark.java
@@ -82,8 +82,6 @@ import org.openjdk.jmh.annotations.Warmup;
import java.io.File;
import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
@@ -131,7 +129,7 @@ public class ReplicaFetcherThreadBenchmark {
List<File> logDirs = config.logDirs().stream().map(File::new).toList();
logManager = new LogManagerBuilder().
setLogDirs(logDirs).
- setInitialOfflineDirs(Collections.emptyList()).
+ setInitialOfflineDirs(List.of()).
setConfigRepository(new MockConfigRepository()).
setInitialDefaultConfig(logConfig).
setCleanerConfig(new CleanerConfig(0, 0, 0, 0, 0, 0.0, 0, false)).
@@ -165,7 +163,7 @@ public class ReplicaFetcherThreadBenchmark {
for (int i = 0; i < partitionCount; i++) {
TopicPartition tp = new TopicPartition("topic", i);
- List<Integer> replicas = Arrays.asList(0, 1, 2);
+ List<Integer> replicas = List.of(0, 1, 2);
PartitionState partitionState = new PartitionState()
.setLeader(0)
.setLeaderEpoch(0)
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 50642699382..a37b5fb26dc 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
@@ -82,8 +82,6 @@ import org.openjdk.jmh.annotations.TearDown;
import org.openjdk.jmh.annotations.Warmup;
import java.nio.ByteBuffer;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.Properties;
@@ -141,7 +139,7 @@ public class KRaftMetadataRequestBenchmark {
MetadataDelta buildupMetadataDelta = new
MetadataDelta(MetadataImage.EMPTY);
IntStream.range(0, 5).forEach(brokerId -> {
RegisterBrokerRecord.BrokerEndpointCollection endpoints = new
RegisterBrokerRecord.BrokerEndpointCollection();
- endpoints(brokerId).forEach(endpoint -> endpoints.add(endpoint));
+ endpoints.addAll(endpoints(brokerId));
buildupMetadataDelta.replay(new RegisterBrokerRecord().
setBrokerId(brokerId).
setBrokerEpoch(100L).
@@ -157,10 +155,10 @@ public class KRaftMetadataRequestBenchmark {
buildupMetadataDelta.replay(new PartitionRecord().
setPartitionId(partitionId).
setTopicId(topicId).
- setReplicas(Arrays.asList(0, 1, 3)).
- setIsr(Arrays.asList(0, 1, 3)).
- setRemovingReplicas(Collections.emptyList()).
- setAddingReplicas(Collections.emptyList()).
+ setReplicas(List.of(0, 1, 3)).
+ setIsr(List.of(0, 1, 3)).
+ setRemovingReplicas(List.of()).
+ setAddingReplicas(List.of()).
setLeader(partitionCount % 5).
setLeaderEpoch(0)));
});
@@ -168,7 +166,7 @@ public class KRaftMetadataRequestBenchmark {
}
private List<RegisterBrokerRecord.BrokerEndpoint> endpoints(final int
brokerId) {
- return Collections.singletonList(
+ return List.of(
new RegisterBrokerRecord.BrokerEndpoint().
setHost("host_" + brokerId).
setPort(9092).
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/TopicsImageSingleRecordChangeBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/TopicsImageSingleRecordChangeBenchmark.java
index dd20f309328..4f4d69c66ea 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/TopicsImageSingleRecordChangeBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/TopicsImageSingleRecordChangeBenchmark.java
@@ -37,7 +37,7 @@ import org.openjdk.jmh.annotations.State;
import org.openjdk.jmh.annotations.Warmup;
import java.util.ArrayList;
-import java.util.Collections;
+import java.util.List;
import java.util.concurrent.TimeUnit;
@State(Scope.Benchmark)
@@ -77,8 +77,8 @@ public class TopicsImageSingleRecordChangeBenchmark {
setTopicId(newTopicUuid).
setReplicas(replicas).
setIsr(isr).
- setRemovingReplicas(Collections.emptyList()).
- setAddingReplicas(Collections.emptyList()).
+ setRemovingReplicas(List.of()).
+ setAddingReplicas(List.of()).
setLeader(0);
topicsDelta.replay(newPartitionRecord);
System.out.print("(Adding a single topic to metadata having " +
totalTopicCount + " total topics) ");
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/TopicsImageSnapshotLoadBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/TopicsImageSnapshotLoadBenchmark.java
index 1dc63002c82..a1fa4c5499b 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/TopicsImageSnapshotLoadBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/TopicsImageSnapshotLoadBenchmark.java
@@ -37,7 +37,7 @@ import org.openjdk.jmh.annotations.State;
import org.openjdk.jmh.annotations.Warmup;
import java.util.ArrayList;
-import java.util.Collections;
+import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.IntStream;
@@ -84,8 +84,8 @@ public class TopicsImageSnapshotLoadBenchmark {
setTopicId(topicId).
setReplicas(replicas).
setIsr(isr).
- setRemovingReplicas(Collections.emptyList()).
- setAddingReplicas(Collections.emptyList()).
+ setRemovingReplicas(List.of()).
+ setAddingReplicas(List.of()).
setLeader(currentLeader.get()));
currentLeader.set((1 + currentLeader.get()) % numBrokers);
});
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/TopicsImageZonalOutageBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/TopicsImageZonalOutageBenchmark.java
index bccadbeebe5..828040ef2ac 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/TopicsImageZonalOutageBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/metadata/TopicsImageZonalOutageBenchmark.java
@@ -36,12 +36,10 @@ import org.openjdk.jmh.annotations.State;
import org.openjdk.jmh.annotations.Warmup;
import java.util.Arrays;
-import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
@State(Scope.Benchmark)
@Fork(value = 1)
@@ -75,16 +73,16 @@ public class TopicsImageZonalOutageBenchmark {
Set<Uuid> perturbedTopics = new HashSet<>();
builtupTopicsImage.topicsById().forEach((topicId, topicImage) ->
topicImage.partitions().forEach((partitionNumber,
partitionRegistration) -> {
- List<Integer> newIsr =
Arrays.stream(partitionRegistration.isr).boxed().filter(n -> n !=
0).collect(Collectors.toList());
+ List<Integer> newIsr =
Arrays.stream(partitionRegistration.isr).boxed().filter(n -> n != 0).toList();
if (newIsr.size() < replicationFactor) {
perturbedTopics.add(topicId);
topicsDelta.replay(new PartitionRecord().
setPartitionId(partitionNumber).
setTopicId(topicId).
-
setReplicas(Arrays.stream(partitionRegistration.replicas).boxed().collect(Collectors.toList())).
+
setReplicas(Arrays.stream(partitionRegistration.replicas).boxed().toList()).
setIsr(newIsr).
- setRemovingReplicas(Collections.emptyList()).
- setAddingReplicas(Collections.emptyList()).
+ setRemovingReplicas(List.of()).
+ setAddingReplicas(List.of()).
setLeader(newIsr.get(0)));
}
})
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/partition/PartitionMakeFollowerBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/partition/PartitionMakeFollowerBenchmark.java
index 72f6427264f..8dfc70ca7c5 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/partition/PartitionMakeFollowerBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/partition/PartitionMakeFollowerBenchmark.java
@@ -58,8 +58,6 @@ import org.openjdk.jmh.annotations.Warmup;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
-import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.Properties;
@@ -80,7 +78,7 @@ import scala.jdk.javaapi.OptionConverters;
public class PartitionMakeFollowerBenchmark {
private final File logDir = new File(System.getProperty("java.io.tmpdir"),
UUID.randomUUID().toString());
private final KafkaScheduler scheduler = new KafkaScheduler(1, true,
"scheduler");
- private final List<Integer> replicas = Arrays.asList(0, 1, 2);
+ private final List<Integer> replicas = List.of(0, 1, 2);
private final OffsetCheckpoints offsetCheckpoints =
Mockito.mock(OffsetCheckpoints.class);
private final DelayedOperations delayedOperations =
Mockito.mock(DelayedOperations.class);
private final ExecutorService executorService =
Executors.newSingleThreadExecutor();
@@ -99,8 +97,8 @@ public class PartitionMakeFollowerBenchmark {
BrokerTopicStats brokerTopicStats = new BrokerTopicStats(false);
LogDirFailureChannel logDirFailureChannel =
Mockito.mock(LogDirFailureChannel.class);
logManager = new LogManagerBuilder().
- setLogDirs(Collections.singletonList(logDir)).
- setInitialOfflineDirs(Collections.emptyList()).
+ setLogDirs(List.of(logDir)).
+ setInitialOfflineDirs(List.of()).
setConfigRepository(new MockConfigRepository()).
setInitialDefaultConfig(logConfig).
setCleanerConfig(new CleanerConfig(0, 0, 0, 0, 0, 0.0, 0, false)).
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/partition/UpdateFollowerFetchStateBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/partition/UpdateFollowerFetchStateBenchmark.java
index 1d58c9dd663..665fc5f4596 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/partition/UpdateFollowerFetchStateBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/partition/UpdateFollowerFetchStateBenchmark.java
@@ -55,7 +55,6 @@ import org.openjdk.jmh.annotations.Warmup;
import java.io.File;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.Properties;
@@ -89,8 +88,8 @@ public class UpdateFollowerFetchStateBenchmark {
scheduler.startup();
LogConfig logConfig = createLogConfig();
logManager = new LogManagerBuilder().
- setLogDirs(Collections.singletonList(logDir)).
- setInitialOfflineDirs(Collections.emptyList()).
+ setLogDirs(List.of(logDir)).
+ setInitialOfflineDirs(List.of()).
setConfigRepository(new MockConfigRepository()).
setInitialDefaultConfig(logConfig).
setCleanerConfig(new CleanerConfig(0, 0, 0, 0, 0, 0.0, 0, false)).
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/producer/ProducerRequestBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/producer/ProducerRequestBenchmark.java
index a1798006f31..f869156a692 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/producer/ProducerRequestBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/producer/ProducerRequestBenchmark.java
@@ -37,10 +37,8 @@ import org.openjdk.jmh.annotations.State;
import org.openjdk.jmh.annotations.Warmup;
import java.nio.charset.StandardCharsets;
-import java.util.Collections;
import java.util.List;
import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
import java.util.stream.IntStream;
@State(Scope.Benchmark)
@@ -52,15 +50,15 @@ import java.util.stream.IntStream;
public class ProducerRequestBenchmark {
private static final int NUMBER_OF_PARTITIONS = 3;
private static final int NUMBER_OF_RECORDS = 3;
- private static final List<ProduceRequestData.TopicProduceData>
TOPIC_PRODUCE_DATA = Collections.singletonList(new
ProduceRequestData.TopicProduceData()
+ private static final List<ProduceRequestData.TopicProduceData>
TOPIC_PRODUCE_DATA = List.of(new ProduceRequestData.TopicProduceData()
.setTopicId(Uuid.fromString("4NeOmt3TH3vW7AKKORPaCW"))
.setPartitionData(IntStream.range(0,
NUMBER_OF_PARTITIONS).mapToObj(partitionIndex -> new
ProduceRequestData.PartitionProduceData()
.setIndex(partitionIndex)
.setRecords(MemoryRecords.withRecords(Compression.NONE,
IntStream.range(0, NUMBER_OF_RECORDS)
.mapToObj(recordIndex -> new SimpleRecord(100,
"hello0".getBytes(StandardCharsets.UTF_8)))
- .collect(Collectors.toList())
+ .toList()
.toArray(new SimpleRecord[0]))))
- .collect(Collectors.toList()))
+ .toList())
);
private static final ProduceRequestData PRODUCE_REQUEST_DATA = new
ProduceRequestData()
.setTimeoutMs(100)
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/producer/ProducerResponseBenchmark.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/producer/ProducerResponseBenchmark.java
index 4bb57ba93fb..f8aa623cf4b 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/producer/ProducerResponseBenchmark.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/producer/ProducerResponseBenchmark.java
@@ -60,7 +60,7 @@ public class ProducerResponseBenchmark {
0,
IntStream.range(0, NUMBER_OF_RECORDS)
.mapToObj(ProduceResponse.RecordError::new)
- .collect(Collectors.toList()))
+ .toList())
))
.collect(Collectors.toMap(AbstractMap.SimpleEntry::getKey,
AbstractMap.SimpleEntry::getValue));
diff --git
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/server/PartitionCreationBench.java
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/server/PartitionCreationBench.java
index 2022f779a93..c32ae47c3ec 100644
---
a/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/server/PartitionCreationBench.java
+++
b/jmh-benchmarks/src/main/java/org/apache/kafka/jmh/server/PartitionCreationBench.java
@@ -60,7 +60,6 @@ import org.openjdk.jmh.annotations.Warmup;
import java.io.File;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.Properties;
@@ -123,7 +122,7 @@ public class PartitionCreationBench {
ConfigRepository configRepository = new MockConfigRepository();
this.logManager = new LogManagerBuilder().
setLogDirs(files).
- setInitialOfflineDirs(Collections.emptyList()).
+ setInitialOfflineDirs(List.of()).
setConfigRepository(configRepository).
setInitialDefaultConfig(createLogConfig()).
setCleanerConfig(cleanerConfig).