This is an automated email from the ASF dual-hosted git repository.

chia7712 pushed a commit to branch 3.9
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/3.9 by this push:
     new bcf4c73bae5 KAFKA-17238 Move VoterSet and ReplicaKey from 
raft.internals to raft (#16775)
bcf4c73bae5 is described below

commit bcf4c73bae59d0425417c24fd526a3a232f6f640
Author: TengYao Chi <[email protected]>
AuthorDate: Fri Aug 16 00:24:51 2024 +0800

    KAFKA-17238 Move VoterSet and ReplicaKey from raft.internals to raft 
(#16775)
    
    Reviewers: Chia-Ping Tsai <[email protected]>
---
 core/src/test/scala/unit/kafka/tools/DumpLogSegmentsTest.scala       | 3 +--
 .../src/main/java/org/apache/kafka/metadata/storage/Formatter.java   | 2 +-
 raft/src/main/java/org/apache/kafka/raft/CandidateState.java         | 2 --
 raft/src/main/java/org/apache/kafka/raft/DynamicVoter.java           | 2 --
 raft/src/main/java/org/apache/kafka/raft/DynamicVoters.java          | 1 -
 raft/src/main/java/org/apache/kafka/raft/ElectionState.java          | 1 -
 raft/src/main/java/org/apache/kafka/raft/EpochState.java             | 2 --
 raft/src/main/java/org/apache/kafka/raft/FollowerState.java          | 1 -
 raft/src/main/java/org/apache/kafka/raft/KafkaRaftClient.java        | 2 --
 raft/src/main/java/org/apache/kafka/raft/LeaderState.java            | 2 --
 raft/src/main/java/org/apache/kafka/raft/QuorumState.java            | 2 --
 raft/src/main/java/org/apache/kafka/raft/RaftUtil.java               | 1 -
 .../main/java/org/apache/kafka/raft/{internals => }/ReplicaKey.java  | 2 +-
 raft/src/main/java/org/apache/kafka/raft/ResignedState.java          | 1 -
 raft/src/main/java/org/apache/kafka/raft/UnattachedState.java        | 1 -
 .../main/java/org/apache/kafka/raft/{internals => }/VoterSet.java    | 5 ++---
 .../main/java/org/apache/kafka/raft/internals/AddVoterHandler.java   | 2 ++
 .../java/org/apache/kafka/raft/internals/AddVoterHandlerState.java   | 1 +
 .../apache/kafka/raft/internals/KRaftControlRecordStateMachine.java  | 1 +
 .../main/java/org/apache/kafka/raft/internals/KafkaRaftMetrics.java  | 1 +
 .../java/org/apache/kafka/raft/internals/RemoveVoterHandler.java     | 2 ++
 .../java/org/apache/kafka/raft/internals/UpdateVoterHandler.java     | 2 ++
 .../main/java/org/apache/kafka/raft/internals/VoterSetHistory.java   | 2 ++
 .../main/java/org/apache/kafka/snapshot/RecordsSnapshotWriter.java   | 2 +-
 raft/src/test/java/org/apache/kafka/raft/CandidateStateTest.java     | 3 ---
 raft/src/test/java/org/apache/kafka/raft/DynamicVoterTest.java       | 2 --
 raft/src/test/java/org/apache/kafka/raft/DynamicVotersTest.java      | 1 -
 raft/src/test/java/org/apache/kafka/raft/ElectionStateTest.java      | 1 -
 .../test/java/org/apache/kafka/raft/FileQuorumStateStoreTest.java    | 1 -
 raft/src/test/java/org/apache/kafka/raft/FollowerStateTest.java      | 1 -
 .../src/test/java/org/apache/kafka/raft/KafkaNetworkChannelTest.java | 1 -
 .../test/java/org/apache/kafka/raft/KafkaRaftClientReconfigTest.java | 3 ---
 .../test/java/org/apache/kafka/raft/KafkaRaftClientSnapshotTest.java | 3 ---
 raft/src/test/java/org/apache/kafka/raft/KafkaRaftClientTest.java    | 3 ---
 raft/src/test/java/org/apache/kafka/raft/LeaderStateTest.java        | 3 ---
 raft/src/test/java/org/apache/kafka/raft/MockNetworkChannel.java     | 1 -
 raft/src/test/java/org/apache/kafka/raft/QuorumStateTest.java        | 3 ---
 raft/src/test/java/org/apache/kafka/raft/RaftClientTestContext.java  | 2 --
 raft/src/test/java/org/apache/kafka/raft/ResignedStateTest.java      | 2 --
 raft/src/test/java/org/apache/kafka/raft/UnattachedStateTest.java    | 1 -
 .../test/java/org/apache/kafka/raft/UnattachedStateWithVoteTest.java | 1 -
 .../java/org/apache/kafka/raft/{internals => }/VoterSetTest.java     | 3 +--
 .../kafka/raft/internals/KRaftControlRecordStateMachineTest.java     | 2 ++
 .../java/org/apache/kafka/raft/internals/KafkaRaftMetricsTest.java   | 3 +++
 .../java/org/apache/kafka/raft/internals/RecordsIteratorTest.java    | 2 ++
 .../java/org/apache/kafka/raft/internals/VoterSetHistoryTest.java    | 3 +++
 .../java/org/apache/kafka/snapshot/RecordsSnapshotWriterTest.java    | 4 ++--
 47 files changed, 30 insertions(+), 62 deletions(-)

diff --git a/core/src/test/scala/unit/kafka/tools/DumpLogSegmentsTest.scala 
b/core/src/test/scala/unit/kafka/tools/DumpLogSegmentsTest.scala
index 977f9dcb3cb..82c2bfd03ad 100644
--- a/core/src/test/scala/unit/kafka/tools/DumpLogSegmentsTest.scala
+++ b/core/src/test/scala/unit/kafka/tools/DumpLogSegmentsTest.scala
@@ -42,8 +42,7 @@ import org.apache.kafka.coordinator.group.{CoordinatorRecord, 
CoordinatorRecordS
 import 
org.apache.kafka.coordinator.group.generated.{ConsumerGroupMemberMetadataValue, 
ConsumerGroupMetadataKey, ConsumerGroupMetadataValue, GroupMetadataKey, 
GroupMetadataValue}
 import org.apache.kafka.coordinator.transaction.TransactionLogConfigs
 import org.apache.kafka.metadata.MetadataRecordSerde
-import org.apache.kafka.raft.{KafkaRaftClient, OffsetAndEpoch}
-import org.apache.kafka.raft.internals.VoterSetTest
+import org.apache.kafka.raft.{KafkaRaftClient, OffsetAndEpoch, VoterSetTest}
 import org.apache.kafka.server.common.{ApiMessageAndVersion, KRaftVersion}
 import org.apache.kafka.server.config.ServerLogConfigs
 import 
org.apache.kafka.server.log.remote.metadata.storage.serialization.RemoteLogMetadataSerde
diff --git 
a/metadata/src/main/java/org/apache/kafka/metadata/storage/Formatter.java 
b/metadata/src/main/java/org/apache/kafka/metadata/storage/Formatter.java
index df639eef5b9..72995fb753e 100644
--- a/metadata/src/main/java/org/apache/kafka/metadata/storage/Formatter.java
+++ b/metadata/src/main/java/org/apache/kafka/metadata/storage/Formatter.java
@@ -27,7 +27,7 @@ import 
org.apache.kafka.metadata.properties.MetaPropertiesEnsemble;
 import org.apache.kafka.metadata.properties.MetaPropertiesVersion;
 import org.apache.kafka.raft.DynamicVoters;
 import org.apache.kafka.raft.KafkaRaftClient;
-import org.apache.kafka.raft.internals.VoterSet;
+import org.apache.kafka.raft.VoterSet;
 import org.apache.kafka.server.common.ApiMessageAndVersion;
 import org.apache.kafka.server.common.FeatureVersion;
 import org.apache.kafka.server.common.Features;
diff --git a/raft/src/main/java/org/apache/kafka/raft/CandidateState.java 
b/raft/src/main/java/org/apache/kafka/raft/CandidateState.java
index 1fd71e5e563..175df7760de 100644
--- a/raft/src/main/java/org/apache/kafka/raft/CandidateState.java
+++ b/raft/src/main/java/org/apache/kafka/raft/CandidateState.java
@@ -20,8 +20,6 @@ import org.apache.kafka.common.Uuid;
 import org.apache.kafka.common.utils.LogContext;
 import org.apache.kafka.common.utils.Time;
 import org.apache.kafka.common.utils.Timer;
-import org.apache.kafka.raft.internals.ReplicaKey;
-import org.apache.kafka.raft.internals.VoterSet;
 
 import org.slf4j.Logger;
 
diff --git a/raft/src/main/java/org/apache/kafka/raft/DynamicVoter.java 
b/raft/src/main/java/org/apache/kafka/raft/DynamicVoter.java
index f0546c910fb..6ae03c34fbf 100644
--- a/raft/src/main/java/org/apache/kafka/raft/DynamicVoter.java
+++ b/raft/src/main/java/org/apache/kafka/raft/DynamicVoter.java
@@ -20,8 +20,6 @@ package org.apache.kafka.raft;
 import org.apache.kafka.common.Uuid;
 import org.apache.kafka.common.feature.SupportedVersionRange;
 import org.apache.kafka.common.network.ListenerName;
-import org.apache.kafka.raft.internals.ReplicaKey;
-import org.apache.kafka.raft.internals.VoterSet;
 
 import java.net.InetSocketAddress;
 import java.util.Collections;
diff --git a/raft/src/main/java/org/apache/kafka/raft/DynamicVoters.java 
b/raft/src/main/java/org/apache/kafka/raft/DynamicVoters.java
index 0dfb54be584..8f746ff2c48 100644
--- a/raft/src/main/java/org/apache/kafka/raft/DynamicVoters.java
+++ b/raft/src/main/java/org/apache/kafka/raft/DynamicVoters.java
@@ -17,7 +17,6 @@
 
 package org.apache.kafka.raft;
 
-import org.apache.kafka.raft.internals.VoterSet;
 
 import java.util.ArrayList;
 import java.util.Collection;
diff --git a/raft/src/main/java/org/apache/kafka/raft/ElectionState.java 
b/raft/src/main/java/org/apache/kafka/raft/ElectionState.java
index 320ae47dbe9..e65e72890f5 100644
--- a/raft/src/main/java/org/apache/kafka/raft/ElectionState.java
+++ b/raft/src/main/java/org/apache/kafka/raft/ElectionState.java
@@ -17,7 +17,6 @@
 package org.apache.kafka.raft;
 
 import org.apache.kafka.raft.generated.QuorumStateData;
-import org.apache.kafka.raft.internals.ReplicaKey;
 
 import java.util.List;
 import java.util.Objects;
diff --git a/raft/src/main/java/org/apache/kafka/raft/EpochState.java 
b/raft/src/main/java/org/apache/kafka/raft/EpochState.java
index a0d643999b8..4f6baec79da 100644
--- a/raft/src/main/java/org/apache/kafka/raft/EpochState.java
+++ b/raft/src/main/java/org/apache/kafka/raft/EpochState.java
@@ -16,8 +16,6 @@
  */
 package org.apache.kafka.raft;
 
-import org.apache.kafka.raft.internals.ReplicaKey;
-
 import java.io.Closeable;
 import java.util.Optional;
 
diff --git a/raft/src/main/java/org/apache/kafka/raft/FollowerState.java 
b/raft/src/main/java/org/apache/kafka/raft/FollowerState.java
index 2e26e7c5a70..49eecab5d61 100644
--- a/raft/src/main/java/org/apache/kafka/raft/FollowerState.java
+++ b/raft/src/main/java/org/apache/kafka/raft/FollowerState.java
@@ -21,7 +21,6 @@ import org.apache.kafka.common.network.ListenerName;
 import org.apache.kafka.common.utils.LogContext;
 import org.apache.kafka.common.utils.Time;
 import org.apache.kafka.common.utils.Timer;
-import org.apache.kafka.raft.internals.ReplicaKey;
 import org.apache.kafka.snapshot.RawSnapshotWriter;
 
 import org.slf4j.Logger;
diff --git a/raft/src/main/java/org/apache/kafka/raft/KafkaRaftClient.java 
b/raft/src/main/java/org/apache/kafka/raft/KafkaRaftClient.java
index b28686fc31e..d9afa803829 100644
--- a/raft/src/main/java/org/apache/kafka/raft/KafkaRaftClient.java
+++ b/raft/src/main/java/org/apache/kafka/raft/KafkaRaftClient.java
@@ -77,10 +77,8 @@ import org.apache.kafka.raft.internals.KafkaRaftMetrics;
 import org.apache.kafka.raft.internals.MemoryBatchReader;
 import org.apache.kafka.raft.internals.RecordsBatchReader;
 import org.apache.kafka.raft.internals.RemoveVoterHandler;
-import org.apache.kafka.raft.internals.ReplicaKey;
 import org.apache.kafka.raft.internals.ThresholdPurgatory;
 import org.apache.kafka.raft.internals.UpdateVoterHandler;
-import org.apache.kafka.raft.internals.VoterSet;
 import org.apache.kafka.server.common.KRaftVersion;
 import org.apache.kafka.server.common.serialization.RecordSerde;
 import org.apache.kafka.snapshot.NotifyingRawSnapshotWriter;
diff --git a/raft/src/main/java/org/apache/kafka/raft/LeaderState.java 
b/raft/src/main/java/org/apache/kafka/raft/LeaderState.java
index 05f6eaf5ebb..803804858ab 100644
--- a/raft/src/main/java/org/apache/kafka/raft/LeaderState.java
+++ b/raft/src/main/java/org/apache/kafka/raft/LeaderState.java
@@ -30,8 +30,6 @@ import org.apache.kafka.common.utils.Timer;
 import org.apache.kafka.raft.internals.AddVoterHandlerState;
 import org.apache.kafka.raft.internals.BatchAccumulator;
 import org.apache.kafka.raft.internals.RemoveVoterHandlerState;
-import org.apache.kafka.raft.internals.ReplicaKey;
-import org.apache.kafka.raft.internals.VoterSet;
 import org.apache.kafka.server.common.KRaftVersion;
 
 import org.slf4j.Logger;
diff --git a/raft/src/main/java/org/apache/kafka/raft/QuorumState.java 
b/raft/src/main/java/org/apache/kafka/raft/QuorumState.java
index f61bdab0db8..da2b35609e2 100644
--- a/raft/src/main/java/org/apache/kafka/raft/QuorumState.java
+++ b/raft/src/main/java/org/apache/kafka/raft/QuorumState.java
@@ -22,8 +22,6 @@ import org.apache.kafka.common.utils.LogContext;
 import org.apache.kafka.common.utils.Time;
 import org.apache.kafka.raft.internals.BatchAccumulator;
 import org.apache.kafka.raft.internals.KRaftControlRecordStateMachine;
-import org.apache.kafka.raft.internals.ReplicaKey;
-import org.apache.kafka.raft.internals.VoterSet;
 
 import org.slf4j.Logger;
 
diff --git a/raft/src/main/java/org/apache/kafka/raft/RaftUtil.java 
b/raft/src/main/java/org/apache/kafka/raft/RaftUtil.java
index 7ec629bc9b5..018bec0d632 100644
--- a/raft/src/main/java/org/apache/kafka/raft/RaftUtil.java
+++ b/raft/src/main/java/org/apache/kafka/raft/RaftUtil.java
@@ -42,7 +42,6 @@ import org.apache.kafka.common.network.ListenerName;
 import org.apache.kafka.common.protocol.ApiKeys;
 import org.apache.kafka.common.protocol.ApiMessage;
 import org.apache.kafka.common.protocol.Errors;
-import org.apache.kafka.raft.internals.ReplicaKey;
 
 import java.net.InetSocketAddress;
 import java.util.Collection;
diff --git a/raft/src/main/java/org/apache/kafka/raft/internals/ReplicaKey.java 
b/raft/src/main/java/org/apache/kafka/raft/ReplicaKey.java
similarity index 98%
rename from raft/src/main/java/org/apache/kafka/raft/internals/ReplicaKey.java
rename to raft/src/main/java/org/apache/kafka/raft/ReplicaKey.java
index 4e7cea17c6b..a1acc39d57c 100644
--- a/raft/src/main/java/org/apache/kafka/raft/internals/ReplicaKey.java
+++ b/raft/src/main/java/org/apache/kafka/raft/ReplicaKey.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.raft.internals;
+package org.apache.kafka.raft;
 
 import org.apache.kafka.common.Uuid;
 
diff --git a/raft/src/main/java/org/apache/kafka/raft/ResignedState.java 
b/raft/src/main/java/org/apache/kafka/raft/ResignedState.java
index 267a88ad787..eaee0496b82 100644
--- a/raft/src/main/java/org/apache/kafka/raft/ResignedState.java
+++ b/raft/src/main/java/org/apache/kafka/raft/ResignedState.java
@@ -19,7 +19,6 @@ package org.apache.kafka.raft;
 import org.apache.kafka.common.utils.LogContext;
 import org.apache.kafka.common.utils.Time;
 import org.apache.kafka.common.utils.Timer;
-import org.apache.kafka.raft.internals.ReplicaKey;
 
 import org.slf4j.Logger;
 
diff --git a/raft/src/main/java/org/apache/kafka/raft/UnattachedState.java 
b/raft/src/main/java/org/apache/kafka/raft/UnattachedState.java
index 999a32f8663..4b21849f818 100644
--- a/raft/src/main/java/org/apache/kafka/raft/UnattachedState.java
+++ b/raft/src/main/java/org/apache/kafka/raft/UnattachedState.java
@@ -19,7 +19,6 @@ package org.apache.kafka.raft;
 import org.apache.kafka.common.utils.LogContext;
 import org.apache.kafka.common.utils.Time;
 import org.apache.kafka.common.utils.Timer;
-import org.apache.kafka.raft.internals.ReplicaKey;
 
 import org.slf4j.Logger;
 
diff --git a/raft/src/main/java/org/apache/kafka/raft/internals/VoterSet.java 
b/raft/src/main/java/org/apache/kafka/raft/VoterSet.java
similarity index 99%
rename from raft/src/main/java/org/apache/kafka/raft/internals/VoterSet.java
rename to raft/src/main/java/org/apache/kafka/raft/VoterSet.java
index 41f9b93b7d9..a74d2a49e8f 100644
--- a/raft/src/main/java/org/apache/kafka/raft/internals/VoterSet.java
+++ b/raft/src/main/java/org/apache/kafka/raft/VoterSet.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.raft.internals;
+package org.apache.kafka.raft;
 
 import org.apache.kafka.common.Node;
 import org.apache.kafka.common.Uuid;
@@ -22,7 +22,6 @@ import org.apache.kafka.common.feature.SupportedVersionRange;
 import org.apache.kafka.common.message.VotersRecord;
 import org.apache.kafka.common.network.ListenerName;
 import org.apache.kafka.common.utils.Utils;
-import org.apache.kafka.raft.Endpoints;
 
 import java.net.InetSocketAddress;
 import java.util.Collections;
@@ -49,7 +48,7 @@ import java.util.stream.Stream;
 public final class VoterSet {
     private final Map<Integer, VoterNode> voters;
 
-    VoterSet(Map<Integer, VoterNode> voters) {
+    public VoterSet(Map<Integer, VoterNode> voters) {
         if (voters.isEmpty()) {
             throw new IllegalArgumentException("Voters cannot be empty");
         }
diff --git 
a/raft/src/main/java/org/apache/kafka/raft/internals/AddVoterHandler.java 
b/raft/src/main/java/org/apache/kafka/raft/internals/AddVoterHandler.java
index 444e747b1e5..44b9eb2a39d 100644
--- a/raft/src/main/java/org/apache/kafka/raft/internals/AddVoterHandler.java
+++ b/raft/src/main/java/org/apache/kafka/raft/internals/AddVoterHandler.java
@@ -29,6 +29,8 @@ import org.apache.kafka.raft.Endpoints;
 import org.apache.kafka.raft.LeaderState;
 import org.apache.kafka.raft.LogOffsetMetadata;
 import org.apache.kafka.raft.RaftUtil;
+import org.apache.kafka.raft.ReplicaKey;
+import org.apache.kafka.raft.VoterSet;
 import org.apache.kafka.server.common.KRaftVersion;
 
 import org.slf4j.Logger;
diff --git 
a/raft/src/main/java/org/apache/kafka/raft/internals/AddVoterHandlerState.java 
b/raft/src/main/java/org/apache/kafka/raft/internals/AddVoterHandlerState.java
index 5bef0afa709..c403d0e0cd2 100644
--- 
a/raft/src/main/java/org/apache/kafka/raft/internals/AddVoterHandlerState.java
+++ 
b/raft/src/main/java/org/apache/kafka/raft/internals/AddVoterHandlerState.java
@@ -20,6 +20,7 @@ package org.apache.kafka.raft.internals;
 import org.apache.kafka.common.message.AddRaftVoterResponseData;
 import org.apache.kafka.common.utils.Timer;
 import org.apache.kafka.raft.Endpoints;
+import org.apache.kafka.raft.ReplicaKey;
 
 import java.util.OptionalLong;
 import java.util.concurrent.CompletableFuture;
diff --git 
a/raft/src/main/java/org/apache/kafka/raft/internals/KRaftControlRecordStateMachine.java
 
b/raft/src/main/java/org/apache/kafka/raft/internals/KRaftControlRecordStateMachine.java
index 82f1435a30e..02bc2c823a0 100644
--- 
a/raft/src/main/java/org/apache/kafka/raft/internals/KRaftControlRecordStateMachine.java
+++ 
b/raft/src/main/java/org/apache/kafka/raft/internals/KRaftControlRecordStateMachine.java
@@ -25,6 +25,7 @@ import org.apache.kafka.raft.ControlRecord;
 import org.apache.kafka.raft.Isolation;
 import org.apache.kafka.raft.LogFetchInfo;
 import org.apache.kafka.raft.ReplicatedLog;
+import org.apache.kafka.raft.VoterSet;
 import org.apache.kafka.server.common.KRaftVersion;
 import org.apache.kafka.server.common.serialization.RecordSerde;
 import org.apache.kafka.snapshot.RawSnapshotReader;
diff --git 
a/raft/src/main/java/org/apache/kafka/raft/internals/KafkaRaftMetrics.java 
b/raft/src/main/java/org/apache/kafka/raft/internals/KafkaRaftMetrics.java
index 49abcd0005f..64230b45f72 100644
--- a/raft/src/main/java/org/apache/kafka/raft/internals/KafkaRaftMetrics.java
+++ b/raft/src/main/java/org/apache/kafka/raft/internals/KafkaRaftMetrics.java
@@ -28,6 +28,7 @@ import org.apache.kafka.common.metrics.stats.WindowedSum;
 import org.apache.kafka.raft.LogOffsetMetadata;
 import org.apache.kafka.raft.OffsetAndEpoch;
 import org.apache.kafka.raft.QuorumState;
+import org.apache.kafka.raft.ReplicaKey;
 
 import java.util.Arrays;
 import java.util.OptionalLong;
diff --git 
a/raft/src/main/java/org/apache/kafka/raft/internals/RemoveVoterHandler.java 
b/raft/src/main/java/org/apache/kafka/raft/internals/RemoveVoterHandler.java
index 3a62d383dda..29093cc30b6 100644
--- a/raft/src/main/java/org/apache/kafka/raft/internals/RemoveVoterHandler.java
+++ b/raft/src/main/java/org/apache/kafka/raft/internals/RemoveVoterHandler.java
@@ -24,6 +24,8 @@ import org.apache.kafka.common.utils.Time;
 import org.apache.kafka.raft.LeaderState;
 import org.apache.kafka.raft.LogOffsetMetadata;
 import org.apache.kafka.raft.RaftUtil;
+import org.apache.kafka.raft.ReplicaKey;
+import org.apache.kafka.raft.VoterSet;
 import org.apache.kafka.server.common.KRaftVersion;
 
 import org.slf4j.Logger;
diff --git 
a/raft/src/main/java/org/apache/kafka/raft/internals/UpdateVoterHandler.java 
b/raft/src/main/java/org/apache/kafka/raft/internals/UpdateVoterHandler.java
index 985ec189195..417c1decad7 100644
--- a/raft/src/main/java/org/apache/kafka/raft/internals/UpdateVoterHandler.java
+++ b/raft/src/main/java/org/apache/kafka/raft/internals/UpdateVoterHandler.java
@@ -27,6 +27,8 @@ import org.apache.kafka.raft.LeaderAndEpoch;
 import org.apache.kafka.raft.LeaderState;
 import org.apache.kafka.raft.LogOffsetMetadata;
 import org.apache.kafka.raft.RaftUtil;
+import org.apache.kafka.raft.ReplicaKey;
+import org.apache.kafka.raft.VoterSet;
 import org.apache.kafka.server.common.KRaftVersion;
 
 import java.util.Optional;
diff --git 
a/raft/src/main/java/org/apache/kafka/raft/internals/VoterSetHistory.java 
b/raft/src/main/java/org/apache/kafka/raft/internals/VoterSetHistory.java
index 4732d6e799f..7f671e6660f 100644
--- a/raft/src/main/java/org/apache/kafka/raft/internals/VoterSetHistory.java
+++ b/raft/src/main/java/org/apache/kafka/raft/internals/VoterSetHistory.java
@@ -16,6 +16,8 @@
  */
 package org.apache.kafka.raft.internals;
 
+import org.apache.kafka.raft.VoterSet;
+
 import java.util.Optional;
 import java.util.OptionalLong;
 
diff --git 
a/raft/src/main/java/org/apache/kafka/snapshot/RecordsSnapshotWriter.java 
b/raft/src/main/java/org/apache/kafka/snapshot/RecordsSnapshotWriter.java
index dd4cc3b2d06..ef26ce3bc05 100644
--- a/raft/src/main/java/org/apache/kafka/snapshot/RecordsSnapshotWriter.java
+++ b/raft/src/main/java/org/apache/kafka/snapshot/RecordsSnapshotWriter.java
@@ -28,9 +28,9 @@ import org.apache.kafka.common.record.RecordBatch;
 import org.apache.kafka.common.record.TimestampType;
 import org.apache.kafka.common.utils.Time;
 import org.apache.kafka.raft.OffsetAndEpoch;
+import org.apache.kafka.raft.VoterSet;
 import org.apache.kafka.raft.internals.BatchAccumulator;
 import org.apache.kafka.raft.internals.BatchAccumulator.CompletedBatch;
-import org.apache.kafka.raft.internals.VoterSet;
 import org.apache.kafka.server.common.KRaftVersion;
 import org.apache.kafka.server.common.serialization.RecordSerde;
 
diff --git a/raft/src/test/java/org/apache/kafka/raft/CandidateStateTest.java 
b/raft/src/test/java/org/apache/kafka/raft/CandidateStateTest.java
index be9a0836847..c71f758d149 100644
--- a/raft/src/test/java/org/apache/kafka/raft/CandidateStateTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/CandidateStateTest.java
@@ -20,9 +20,6 @@ import org.apache.kafka.common.Uuid;
 import org.apache.kafka.common.utils.LogContext;
 import org.apache.kafka.common.utils.MockTime;
 import org.apache.kafka.common.utils.Utils;
-import org.apache.kafka.raft.internals.ReplicaKey;
-import org.apache.kafka.raft.internals.VoterSet;
-import org.apache.kafka.raft.internals.VoterSetTest;
 
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
diff --git a/raft/src/test/java/org/apache/kafka/raft/DynamicVoterTest.java 
b/raft/src/test/java/org/apache/kafka/raft/DynamicVoterTest.java
index fe9f295c5bb..f53d006f632 100644
--- a/raft/src/test/java/org/apache/kafka/raft/DynamicVoterTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/DynamicVoterTest.java
@@ -19,8 +19,6 @@ package org.apache.kafka.raft;
 import org.apache.kafka.common.Uuid;
 import org.apache.kafka.common.feature.SupportedVersionRange;
 import org.apache.kafka.common.network.ListenerName;
-import org.apache.kafka.raft.internals.ReplicaKey;
-import org.apache.kafka.raft.internals.VoterSet;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/raft/src/test/java/org/apache/kafka/raft/DynamicVotersTest.java 
b/raft/src/test/java/org/apache/kafka/raft/DynamicVotersTest.java
index 75861213cc0..94f2d54eae2 100644
--- a/raft/src/test/java/org/apache/kafka/raft/DynamicVotersTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/DynamicVotersTest.java
@@ -17,7 +17,6 @@
 package org.apache.kafka.raft;
 
 import org.apache.kafka.common.Uuid;
-import org.apache.kafka.raft.internals.VoterSet;
 
 import org.junit.jupiter.api.Test;
 
diff --git a/raft/src/test/java/org/apache/kafka/raft/ElectionStateTest.java 
b/raft/src/test/java/org/apache/kafka/raft/ElectionStateTest.java
index 18b748061cb..715f5d7b482 100644
--- a/raft/src/test/java/org/apache/kafka/raft/ElectionStateTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/ElectionStateTest.java
@@ -19,7 +19,6 @@ package org.apache.kafka.raft;
 import org.apache.kafka.common.Uuid;
 import org.apache.kafka.common.utils.Utils;
 import org.apache.kafka.raft.generated.QuorumStateData;
-import org.apache.kafka.raft.internals.ReplicaKey;
 
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
diff --git 
a/raft/src/test/java/org/apache/kafka/raft/FileQuorumStateStoreTest.java 
b/raft/src/test/java/org/apache/kafka/raft/FileQuorumStateStoreTest.java
index 1cf480e5ebf..4759c5c4e67 100644
--- a/raft/src/test/java/org/apache/kafka/raft/FileQuorumStateStoreTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/FileQuorumStateStoreTest.java
@@ -20,7 +20,6 @@ import org.apache.kafka.common.Uuid;
 import org.apache.kafka.common.protocol.types.TaggedFields;
 import org.apache.kafka.common.utils.Utils;
 import org.apache.kafka.raft.generated.QuorumStateData;
-import org.apache.kafka.raft.internals.ReplicaKey;
 import org.apache.kafka.server.common.KRaftVersion;
 import org.apache.kafka.test.TestUtils;
 
diff --git a/raft/src/test/java/org/apache/kafka/raft/FollowerStateTest.java 
b/raft/src/test/java/org/apache/kafka/raft/FollowerStateTest.java
index 01b20a0570b..4ab40379e8f 100644
--- a/raft/src/test/java/org/apache/kafka/raft/FollowerStateTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/FollowerStateTest.java
@@ -20,7 +20,6 @@ import org.apache.kafka.common.network.ListenerName;
 import org.apache.kafka.common.utils.LogContext;
 import org.apache.kafka.common.utils.MockTime;
 import org.apache.kafka.common.utils.Utils;
-import org.apache.kafka.raft.internals.ReplicaKey;
 
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
diff --git 
a/raft/src/test/java/org/apache/kafka/raft/KafkaNetworkChannelTest.java 
b/raft/src/test/java/org/apache/kafka/raft/KafkaNetworkChannelTest.java
index 579508a2569..96a5df1845f 100644
--- a/raft/src/test/java/org/apache/kafka/raft/KafkaNetworkChannelTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/KafkaNetworkChannelTest.java
@@ -47,7 +47,6 @@ import org.apache.kafka.common.requests.VoteResponse;
 import org.apache.kafka.common.utils.MockTime;
 import org.apache.kafka.common.utils.Time;
 import org.apache.kafka.common.utils.annotation.ApiKeyVersionsSource;
-import org.apache.kafka.raft.internals.ReplicaKey;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git 
a/raft/src/test/java/org/apache/kafka/raft/KafkaRaftClientReconfigTest.java 
b/raft/src/test/java/org/apache/kafka/raft/KafkaRaftClientReconfigTest.java
index bb1cbbb7bb0..0d46af767a8 100644
--- a/raft/src/test/java/org/apache/kafka/raft/KafkaRaftClientReconfigTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/KafkaRaftClientReconfigTest.java
@@ -36,9 +36,6 @@ import org.apache.kafka.common.record.RecordBatch;
 import org.apache.kafka.common.record.Records;
 import org.apache.kafka.common.record.TimestampType;
 import org.apache.kafka.common.utils.BufferSupplier;
-import org.apache.kafka.raft.internals.ReplicaKey;
-import org.apache.kafka.raft.internals.VoterSet;
-import org.apache.kafka.raft.internals.VoterSetTest;
 import org.apache.kafka.server.common.Features;
 import org.apache.kafka.server.common.KRaftVersion;
 import org.apache.kafka.snapshot.RecordsSnapshotReader;
diff --git 
a/raft/src/test/java/org/apache/kafka/raft/KafkaRaftClientSnapshotTest.java 
b/raft/src/test/java/org/apache/kafka/raft/KafkaRaftClientSnapshotTest.java
index 0b74ee69d3e..3298bd8dca9 100644
--- a/raft/src/test/java/org/apache/kafka/raft/KafkaRaftClientSnapshotTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/KafkaRaftClientSnapshotTest.java
@@ -26,10 +26,7 @@ import org.apache.kafka.common.record.MemoryRecords;
 import org.apache.kafka.common.record.UnalignedMemoryRecords;
 import org.apache.kafka.common.requests.FetchSnapshotRequest;
 import org.apache.kafka.common.utils.Utils;
-import org.apache.kafka.raft.internals.ReplicaKey;
 import org.apache.kafka.raft.internals.StringSerde;
-import org.apache.kafka.raft.internals.VoterSet;
-import org.apache.kafka.raft.internals.VoterSetTest;
 import org.apache.kafka.snapshot.RawSnapshotReader;
 import org.apache.kafka.snapshot.RawSnapshotWriter;
 import org.apache.kafka.snapshot.RecordsSnapshotWriter;
diff --git a/raft/src/test/java/org/apache/kafka/raft/KafkaRaftClientTest.java 
b/raft/src/test/java/org/apache/kafka/raft/KafkaRaftClientTest.java
index a783ccdc7c7..9106115d6a8 100644
--- a/raft/src/test/java/org/apache/kafka/raft/KafkaRaftClientTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/KafkaRaftClientTest.java
@@ -40,9 +40,6 @@ import org.apache.kafka.common.requests.FetchRequest;
 import org.apache.kafka.common.utils.Utils;
 import org.apache.kafka.raft.errors.BufferAllocationException;
 import org.apache.kafka.raft.errors.NotLeaderException;
-import org.apache.kafka.raft.internals.ReplicaKey;
-import org.apache.kafka.raft.internals.VoterSet;
-import org.apache.kafka.raft.internals.VoterSetTest;
 import org.apache.kafka.test.TestUtils;
 
 import org.junit.jupiter.api.Test;
diff --git a/raft/src/test/java/org/apache/kafka/raft/LeaderStateTest.java 
b/raft/src/test/java/org/apache/kafka/raft/LeaderStateTest.java
index 8ce18ec9d44..b5e135275ca 100644
--- a/raft/src/test/java/org/apache/kafka/raft/LeaderStateTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/LeaderStateTest.java
@@ -20,9 +20,6 @@ import org.apache.kafka.common.Uuid;
 import org.apache.kafka.common.utils.LogContext;
 import org.apache.kafka.common.utils.MockTime;
 import org.apache.kafka.raft.internals.BatchAccumulator;
-import org.apache.kafka.raft.internals.ReplicaKey;
-import org.apache.kafka.raft.internals.VoterSet;
-import org.apache.kafka.raft.internals.VoterSetTest;
 import org.apache.kafka.server.common.KRaftVersion;
 
 import org.junit.jupiter.api.Test;
diff --git a/raft/src/test/java/org/apache/kafka/raft/MockNetworkChannel.java 
b/raft/src/test/java/org/apache/kafka/raft/MockNetworkChannel.java
index b5698545bdf..c8e732e8805 100644
--- a/raft/src/test/java/org/apache/kafka/raft/MockNetworkChannel.java
+++ b/raft/src/test/java/org/apache/kafka/raft/MockNetworkChannel.java
@@ -18,7 +18,6 @@ package org.apache.kafka.raft;
 
 import org.apache.kafka.common.network.ListenerName;
 import org.apache.kafka.common.protocol.ApiKeys;
-import org.apache.kafka.raft.internals.VoterSetTest;
 
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/raft/src/test/java/org/apache/kafka/raft/QuorumStateTest.java 
b/raft/src/test/java/org/apache/kafka/raft/QuorumStateTest.java
index a22cf16123e..fc14f4d9bc3 100644
--- a/raft/src/test/java/org/apache/kafka/raft/QuorumStateTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/QuorumStateTest.java
@@ -22,9 +22,6 @@ import org.apache.kafka.common.utils.MockTime;
 import org.apache.kafka.common.utils.Utils;
 import org.apache.kafka.raft.internals.BatchAccumulator;
 import org.apache.kafka.raft.internals.KRaftControlRecordStateMachine;
-import org.apache.kafka.raft.internals.ReplicaKey;
-import org.apache.kafka.raft.internals.VoterSet;
-import org.apache.kafka.raft.internals.VoterSetTest;
 import org.apache.kafka.server.common.Features;
 import org.apache.kafka.server.common.KRaftVersion;
 
diff --git 
a/raft/src/test/java/org/apache/kafka/raft/RaftClientTestContext.java 
b/raft/src/test/java/org/apache/kafka/raft/RaftClientTestContext.java
index bbe9ddf8bf0..d12140a6c91 100644
--- a/raft/src/test/java/org/apache/kafka/raft/RaftClientTestContext.java
+++ b/raft/src/test/java/org/apache/kafka/raft/RaftClientTestContext.java
@@ -63,9 +63,7 @@ import org.apache.kafka.common.utils.LogContext;
 import org.apache.kafka.common.utils.MockTime;
 import org.apache.kafka.common.utils.Utils;
 import org.apache.kafka.raft.internals.BatchBuilder;
-import org.apache.kafka.raft.internals.ReplicaKey;
 import org.apache.kafka.raft.internals.StringSerde;
-import org.apache.kafka.raft.internals.VoterSet;
 import org.apache.kafka.server.common.Features;
 import org.apache.kafka.server.common.KRaftVersion;
 import org.apache.kafka.server.common.serialization.RecordSerde;
diff --git a/raft/src/test/java/org/apache/kafka/raft/ResignedStateTest.java 
b/raft/src/test/java/org/apache/kafka/raft/ResignedStateTest.java
index 2df82933973..38987eac26b 100644
--- a/raft/src/test/java/org/apache/kafka/raft/ResignedStateTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/ResignedStateTest.java
@@ -19,8 +19,6 @@ package org.apache.kafka.raft;
 import org.apache.kafka.common.utils.LogContext;
 import org.apache.kafka.common.utils.MockTime;
 import org.apache.kafka.common.utils.Utils;
-import org.apache.kafka.raft.internals.ReplicaKey;
-import org.apache.kafka.raft.internals.VoterSetTest;
 
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
diff --git a/raft/src/test/java/org/apache/kafka/raft/UnattachedStateTest.java 
b/raft/src/test/java/org/apache/kafka/raft/UnattachedStateTest.java
index 113b24c8a6b..926c8525562 100644
--- a/raft/src/test/java/org/apache/kafka/raft/UnattachedStateTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/UnattachedStateTest.java
@@ -19,7 +19,6 @@ package org.apache.kafka.raft;
 import org.apache.kafka.common.utils.LogContext;
 import org.apache.kafka.common.utils.MockTime;
 import org.apache.kafka.common.utils.Utils;
-import org.apache.kafka.raft.internals.ReplicaKey;
 
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
diff --git 
a/raft/src/test/java/org/apache/kafka/raft/UnattachedStateWithVoteTest.java 
b/raft/src/test/java/org/apache/kafka/raft/UnattachedStateWithVoteTest.java
index fdeded219fc..b0cd57bbc02 100644
--- a/raft/src/test/java/org/apache/kafka/raft/UnattachedStateWithVoteTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/UnattachedStateWithVoteTest.java
@@ -19,7 +19,6 @@ package org.apache.kafka.raft;
 import org.apache.kafka.common.Uuid;
 import org.apache.kafka.common.utils.LogContext;
 import org.apache.kafka.common.utils.MockTime;
-import org.apache.kafka.raft.internals.ReplicaKey;
 
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
diff --git 
a/raft/src/test/java/org/apache/kafka/raft/internals/VoterSetTest.java 
b/raft/src/test/java/org/apache/kafka/raft/VoterSetTest.java
similarity index 99%
rename from raft/src/test/java/org/apache/kafka/raft/internals/VoterSetTest.java
rename to raft/src/test/java/org/apache/kafka/raft/VoterSetTest.java
index a4f2354d690..1f41f4fd22f 100644
--- a/raft/src/test/java/org/apache/kafka/raft/internals/VoterSetTest.java
+++ b/raft/src/test/java/org/apache/kafka/raft/VoterSetTest.java
@@ -14,14 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.raft.internals;
+package org.apache.kafka.raft;
 
 import org.apache.kafka.common.Node;
 import org.apache.kafka.common.Uuid;
 import org.apache.kafka.common.feature.SupportedVersionRange;
 import org.apache.kafka.common.network.ListenerName;
 import org.apache.kafka.common.utils.Utils;
-import org.apache.kafka.raft.Endpoints;
 import org.apache.kafka.server.common.Features;
 
 import org.junit.jupiter.api.Test;
diff --git 
a/raft/src/test/java/org/apache/kafka/raft/internals/KRaftControlRecordStateMachineTest.java
 
b/raft/src/test/java/org/apache/kafka/raft/internals/KRaftControlRecordStateMachineTest.java
index 93cd37fb250..e3673bef521 100644
--- 
a/raft/src/test/java/org/apache/kafka/raft/internals/KRaftControlRecordStateMachineTest.java
+++ 
b/raft/src/test/java/org/apache/kafka/raft/internals/KRaftControlRecordStateMachineTest.java
@@ -24,6 +24,8 @@ import org.apache.kafka.common.utils.BufferSupplier;
 import org.apache.kafka.common.utils.LogContext;
 import org.apache.kafka.raft.MockLog;
 import org.apache.kafka.raft.OffsetAndEpoch;
+import org.apache.kafka.raft.VoterSet;
+import org.apache.kafka.raft.VoterSetTest;
 import org.apache.kafka.server.common.KRaftVersion;
 import org.apache.kafka.server.common.serialization.RecordSerde;
 import org.apache.kafka.snapshot.RecordsSnapshotWriter;
diff --git 
a/raft/src/test/java/org/apache/kafka/raft/internals/KafkaRaftMetricsTest.java 
b/raft/src/test/java/org/apache/kafka/raft/internals/KafkaRaftMetricsTest.java
index 3e399de3c22..86f18a1aefa 100644
--- 
a/raft/src/test/java/org/apache/kafka/raft/internals/KafkaRaftMetricsTest.java
+++ 
b/raft/src/test/java/org/apache/kafka/raft/internals/KafkaRaftMetricsTest.java
@@ -26,6 +26,9 @@ import org.apache.kafka.raft.LogOffsetMetadata;
 import org.apache.kafka.raft.MockQuorumStateStore;
 import org.apache.kafka.raft.OffsetAndEpoch;
 import org.apache.kafka.raft.QuorumState;
+import org.apache.kafka.raft.ReplicaKey;
+import org.apache.kafka.raft.VoterSet;
+import org.apache.kafka.raft.VoterSetTest;
 import org.apache.kafka.server.common.Features;
 import org.apache.kafka.server.common.KRaftVersion;
 
diff --git 
a/raft/src/test/java/org/apache/kafka/raft/internals/RecordsIteratorTest.java 
b/raft/src/test/java/org/apache/kafka/raft/internals/RecordsIteratorTest.java
index a8d34ec5b33..84904032a57 100644
--- 
a/raft/src/test/java/org/apache/kafka/raft/internals/RecordsIteratorTest.java
+++ 
b/raft/src/test/java/org/apache/kafka/raft/internals/RecordsIteratorTest.java
@@ -40,6 +40,8 @@ import org.apache.kafka.common.utils.MockTime;
 import org.apache.kafka.raft.Batch;
 import org.apache.kafka.raft.ControlRecord;
 import org.apache.kafka.raft.OffsetAndEpoch;
+import org.apache.kafka.raft.VoterSet;
+import org.apache.kafka.raft.VoterSetTest;
 import org.apache.kafka.server.common.KRaftVersion;
 import org.apache.kafka.server.common.serialization.RecordSerde;
 import org.apache.kafka.snapshot.MockRawSnapshotWriter;
diff --git 
a/raft/src/test/java/org/apache/kafka/raft/internals/VoterSetHistoryTest.java 
b/raft/src/test/java/org/apache/kafka/raft/internals/VoterSetHistoryTest.java
index 4cefd448773..f40311d8b7e 100644
--- 
a/raft/src/test/java/org/apache/kafka/raft/internals/VoterSetHistoryTest.java
+++ 
b/raft/src/test/java/org/apache/kafka/raft/internals/VoterSetHistoryTest.java
@@ -16,6 +16,9 @@
  */
 package org.apache.kafka.raft.internals;
 
+import org.apache.kafka.raft.VoterSet;
+import org.apache.kafka.raft.VoterSetTest;
+
 import org.junit.jupiter.api.Test;
 
 import java.util.HashMap;
diff --git 
a/raft/src/test/java/org/apache/kafka/snapshot/RecordsSnapshotWriterTest.java 
b/raft/src/test/java/org/apache/kafka/snapshot/RecordsSnapshotWriterTest.java
index 8a5d384462f..3934b9f96f2 100644
--- 
a/raft/src/test/java/org/apache/kafka/snapshot/RecordsSnapshotWriterTest.java
+++ 
b/raft/src/test/java/org/apache/kafka/snapshot/RecordsSnapshotWriterTest.java
@@ -25,9 +25,9 @@ import org.apache.kafka.common.utils.BufferSupplier;
 import org.apache.kafka.common.utils.MockTime;
 import org.apache.kafka.raft.Batch;
 import org.apache.kafka.raft.OffsetAndEpoch;
+import org.apache.kafka.raft.VoterSet;
+import org.apache.kafka.raft.VoterSetTest;
 import org.apache.kafka.raft.internals.StringSerde;
-import org.apache.kafka.raft.internals.VoterSet;
-import org.apache.kafka.raft.internals.VoterSetTest;
 import org.apache.kafka.server.common.KRaftVersion;
 import org.apache.kafka.server.common.serialization.RecordSerde;
 


Reply via email to