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

adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ratis.git


The following commit(s) were added to refs/heads/master by this push:
     new 7e66f1a82 RATIS-2332. Start new servers with empty peer list in tests 
(#1294)
7e66f1a82 is described below

commit 7e66f1a82172973e5db785c89cdef2cb4ac5bf9b
Author: Tsz-Wo Nicholas Sze <[email protected]>
AuthorDate: Tue Sep 30 21:35:21 2025 -0700

    RATIS-2332. Start new servers with empty peer list in tests (#1294)
---
 .../ratis/InstallSnapshotFromLeaderTests.java      |  6 ++--
 .../ratis/InstallSnapshotNotificationTests.java    |  8 ++---
 .../org/apache/ratis/RaftExceptionBaseTest.java    |  3 +-
 .../ratis/server/impl/LeaderElectionTests.java     |  6 ++--
 .../apache/ratis/server/impl/MiniRaftCluster.java  | 41 +++-------------------
 .../server/impl/RaftReconfigurationBaseTest.java   |  4 +--
 .../ratis/statemachine/RaftSnapshotBaseTest.java   |  4 +--
 .../shell/cli/sh/PeerCommandIntegrationTest.java   |  2 +-
 8 files changed, 20 insertions(+), 54 deletions(-)

diff --git 
a/ratis-server/src/test/java/org/apache/ratis/InstallSnapshotFromLeaderTests.java
 
b/ratis-server/src/test/java/org/apache/ratis/InstallSnapshotFromLeaderTests.java
index 687e1c1a5..e7683a399 100644
--- 
a/ratis-server/src/test/java/org/apache/ratis/InstallSnapshotFromLeaderTests.java
+++ 
b/ratis-server/src/test/java/org/apache/ratis/InstallSnapshotFromLeaderTests.java
@@ -116,8 +116,7 @@ public abstract class 
InstallSnapshotFromLeaderTests<CLUSTER extends MiniRaftClu
     Assertions.assertEquals(3, snapshot.getFiles().size());
 
     // add two more peers
-    final PeerChanges change = cluster.addNewPeers(2, true,
-        true);
+    final PeerChanges change = cluster.addNewPeers(2, true);
     // trigger setConfiguration
     cluster.setConfiguration(change.getPeersInNewConf());
 
@@ -161,8 +160,7 @@ public abstract class 
InstallSnapshotFromLeaderTests<CLUSTER extends MiniRaftClu
     }
 
     // add two more peers and install snapshot from leaders
-    final PeerChanges change = cluster.addNewPeers(2, true,
-        true);
+    final PeerChanges change = cluster.addNewPeers(2, true);
     try (final RaftClient client = cluster.createClient(leaderId, 
RetryPolicies.noRetry())) {
       final RaftException e = Assertions.assertThrows(RaftException.class,
                () -> 
client.admin().setConfiguration(change.getPeersInNewConf()));
diff --git 
a/ratis-server/src/test/java/org/apache/ratis/InstallSnapshotNotificationTests.java
 
b/ratis-server/src/test/java/org/apache/ratis/InstallSnapshotNotificationTests.java
index e03171d66..931bf6317 100644
--- 
a/ratis-server/src/test/java/org/apache/ratis/InstallSnapshotNotificationTests.java
+++ 
b/ratis-server/src/test/java/org/apache/ratis/InstallSnapshotNotificationTests.java
@@ -241,7 +241,7 @@ public abstract class 
InstallSnapshotNotificationTests<CLUSTER extends MiniRaftC
       Assertions.assertTrue(set);
 
       // Add new peer(s)
-      final PeerChanges change = cluster.addNewPeers(1, true, true);
+      final PeerChanges change = cluster.addNewPeers(1, true);
       // trigger setConfiguration
       RaftServerTestUtil.runWithMinorityPeers(cluster, 
change.getPeersInNewConf(), cluster::setConfiguration);
 
@@ -389,7 +389,7 @@ public abstract class 
InstallSnapshotNotificationTests<CLUSTER extends MiniRaftC
 
       // Add new peer(s) who will need snapshots from the leader.
       final int numNewPeers = 1;
-      final PeerChanges change = cluster.addNewPeers(numNewPeers, true, true);
+      final PeerChanges change = cluster.addNewPeers(numNewPeers, true);
       // trigger setConfiguration
       RaftServerTestUtil.runWithMinorityPeers(cluster, 
change.getPeersInNewConf(), cluster::setConfiguration);
       RaftServerTestUtil.waitAndCheckNewConf(cluster, 
change.getPeersInNewConf(), 0, null);
@@ -475,7 +475,7 @@ public abstract class 
InstallSnapshotNotificationTests<CLUSTER extends MiniRaftC
       Assertions.assertTrue(set);
 
       // add one new peer
-      final PeerChanges change = cluster.addNewPeers(1, true, true);
+      final PeerChanges change = cluster.addNewPeers(1, true);
       // trigger setConfiguration
       RaftServerTestUtil.runWithMinorityPeers(cluster, 
change.getPeersInNewConf(), cluster::setConfiguration);
       RaftServerTestUtil.waitAndCheckNewConf(cluster, 
change.getPeersInNewConf(), 0, null);
@@ -551,7 +551,7 @@ public abstract class 
InstallSnapshotNotificationTests<CLUSTER extends MiniRaftC
 
       // Add new peer(s)
       final int numNewPeers = 1;
-      final PeerChanges change = cluster.addNewPeers(numNewPeers, true, true);
+      final PeerChanges change = cluster.addNewPeers(numNewPeers, true);
       // trigger setConfiguration
       RaftServerTestUtil.runWithMinorityPeers(cluster, 
change.getPeersInNewConf(), cluster::setConfiguration);
 
diff --git 
a/ratis-server/src/test/java/org/apache/ratis/RaftExceptionBaseTest.java 
b/ratis-server/src/test/java/org/apache/ratis/RaftExceptionBaseTest.java
index a08731c58..b06d6e904 100644
--- a/ratis-server/src/test/java/org/apache/ratis/RaftExceptionBaseTest.java
+++ b/ratis-server/src/test/java/org/apache/ratis/RaftExceptionBaseTest.java
@@ -110,8 +110,7 @@ public abstract class RaftExceptionBaseTest<CLUSTER extends 
MiniRaftCluster>
       final RaftPeerId newLeader = RaftTestUtil.changeLeader(cluster, 
oldLeader);
 
       // add two more peers
-      PeerChanges change = cluster.addNewPeers(new String[]{
-          "ss1", "ss2"}, true, false);
+      PeerChanges change = cluster.addNewPeers(2, true);
       // trigger setConfiguration
       LOG.info("Start changing the configuration: {}", 
change.getPeersInNewConf());
       try (final RaftClient c2 = cluster.createClient(newLeader)) {
diff --git 
a/ratis-server/src/test/java/org/apache/ratis/server/impl/LeaderElectionTests.java
 
b/ratis-server/src/test/java/org/apache/ratis/server/impl/LeaderElectionTests.java
index d4023a23d..724a06643 100644
--- 
a/ratis-server/src/test/java/org/apache/ratis/server/impl/LeaderElectionTests.java
+++ 
b/ratis-server/src/test/java/org/apache/ratis/server/impl/LeaderElectionTests.java
@@ -156,7 +156,7 @@ public abstract class LeaderElectionTests<CLUSTER extends 
MiniRaftCluster>
       }
       // add 3 new servers and wait longer time
       CodeInjectionForTesting.put(RaftServerImpl.START_COMPLETE, new 
SleepCode(2000));
-      final PeerChanges peerChanges = cluster.addNewPeers(2, true, false);
+      final PeerChanges peerChanges = cluster.addNewPeers(2, true);
       LOG.info("add new 3 servers");
       LOG.info(cluster.printServers());
       RaftClientReply reply = 
client.admin().setConfiguration(SetConfigurationRequest.Arguments.newBuilder()
@@ -461,7 +461,7 @@ public abstract class LeaderElectionTests<CLUSTER extends 
MiniRaftCluster>
         client.io().send(new RaftTestUtil.SimpleMessage("message"));
         List<RaftPeer> servers = cluster.getPeers();
         assertEquals(servers.size(), 3);
-        final PeerChanges changes = cluster.addNewPeers(1, true, false, 
LISTENER);
+        final PeerChanges changes = cluster.addNewPeers(1, true);
         final List<RaftPeer> added = changes.getAddedPeers();
         final RaftClientReply reply = client.admin().setConfiguration(servers, 
added);
         assertTrue(reply.isSuccess());
@@ -486,7 +486,7 @@ public abstract class LeaderElectionTests<CLUSTER extends 
MiniRaftCluster>
         List<RaftPeer> listener = new ArrayList<>(
             
leader.getRaftConf().getAllPeers(RaftProtos.RaftPeerRole.LISTENER));
         assertEquals(1, listener.size());
-        final PeerChanges changes = cluster.addNewPeers(1, true, false);
+        final PeerChanges changes = cluster.addNewPeers(1, true);
         final List<RaftPeer> newPeers = new 
ArrayList<>(changes.getAddedPeers());
         
newPeers.addAll(leader.getRaftConf().getAllPeers(RaftProtos.RaftPeerRole.FOLLOWER));
         RaftClientReply reply = client.admin().setConfiguration(newPeers, 
listener);
diff --git 
a/ratis-server/src/test/java/org/apache/ratis/server/impl/MiniRaftCluster.java 
b/ratis-server/src/test/java/org/apache/ratis/server/impl/MiniRaftCluster.java
index 6dd5a1276..253b2cdeb 100644
--- 
a/ratis-server/src/test/java/org/apache/ratis/server/impl/MiniRaftCluster.java
+++ 
b/ratis-server/src/test/java/org/apache/ratis/server/impl/MiniRaftCluster.java
@@ -22,7 +22,6 @@ import org.apache.ratis.RaftTestUtil;
 import org.apache.ratis.client.RaftClient;
 import org.apache.ratis.conf.Parameters;
 import org.apache.ratis.conf.RaftProperties;
-import org.apache.ratis.proto.RaftProtos;
 import org.apache.ratis.protocol.ClientId;
 import org.apache.ratis.protocol.Message;
 import org.apache.ratis.protocol.RaftClientReply;
@@ -82,6 +81,8 @@ import java.util.stream.Collectors;
 import java.util.stream.Stream;
 import java.util.stream.StreamSupport;
 
+import static org.apache.ratis.proto.RaftProtos.RaftPeerRole.LISTENER;
+
 public abstract class MiniRaftCluster implements Closeable {
   public static final Logger LOG = 
LoggerFactory.getLogger(MiniRaftCluster.class);
 
@@ -246,7 +247,7 @@ public abstract class MiniRaftCluster implements Closeable {
     Stream<RaftPeer> listener = listenerIds.stream()
         .map(id -> RaftPeer.newBuilder().setId(id))
         .map(MiniRaftCluster::assignAddresses)
-        .map(p -> p.setStartupRole(RaftProtos.RaftPeerRole.LISTENER))
+        .map(p -> p.setStartupRole(LISTENER))
         .map(RaftPeer.Builder::build);
     final RaftPeer[] peers = Stream.concat(peer, 
listener).toArray(RaftPeer[]::new);
 
@@ -433,43 +434,11 @@ public abstract class MiniRaftCluster implements 
Closeable {
 
   public PeerChanges addNewPeers(int number, boolean startNewPeer)
       throws IOException {
-    return addNewPeers(generateIds(number, servers.size()), startNewPeer, 
false);
-  }
-
-  public PeerChanges addNewPeers(int number, boolean startNewPeer,
-      boolean emptyPeer) throws IOException {
-    return addNewPeers(generateIds(number, servers.size()), startNewPeer, 
emptyPeer,
-        RaftProtos.RaftPeerRole.FOLLOWER);
-  }
-
-  public PeerChanges addNewPeers(String[] ids, boolean startNewPeer,
-      boolean emptyPeer) throws IOException {
-    return addNewPeers(ids, startNewPeer, emptyPeer, 
RaftProtos.RaftPeerRole.FOLLOWER);
-  }
-
-  public PeerChanges addNewPeers(int number, boolean startNewPeer,
-      boolean emptyPeer, RaftProtos.RaftPeerRole startRole) throws IOException 
{
-    return addNewPeers(generateIds(number, servers.size()), startNewPeer, 
emptyPeer, startRole);
-  }
-
-  public PeerChanges addNewPeers(String[] ids, boolean startNewPeer,
-      boolean emptyPeer, RaftProtos.RaftPeerRole startRole) throws IOException 
{
+    final String[] ids = generateIds(number, servers.size());
     LOG.info("Add new peers {}", Arrays.asList(ids));
 
     final Iterable<RaftPeerId> peerIds = 
CollectionUtils.as(Arrays.asList(ids), RaftPeerId::valueOf);
-    final RaftGroup raftGroup;
-    if (emptyPeer) {
-      raftGroup = RaftGroup.valueOf(group.getGroupId(), 
Collections.emptyList());
-    } else {
-      final Collection<RaftPeer> newPeers = 
StreamSupport.stream(peerIds.spliterator(), false)
-          .map(id -> RaftPeer.newBuilder().setId(id)
-              .setStartupRole(startRole))
-          .map(MiniRaftCluster::assignAddresses)
-          .map(RaftPeer.Builder::build)
-          .collect(Collectors.toSet());
-      newPeers.addAll(group.getPeers());
-      raftGroup = RaftGroup.valueOf(group.getGroupId(), newPeers);
-    }
+    final RaftGroup raftGroup = RaftGroup.valueOf(group.getGroupId(), 
Collections.emptyList());
 
     // create and add new RaftServers
     final Collection<RaftServer> newServers = putNewServers(peerIds, true, 
raftGroup);
diff --git 
a/ratis-server/src/test/java/org/apache/ratis/server/impl/RaftReconfigurationBaseTest.java
 
b/ratis-server/src/test/java/org/apache/ratis/server/impl/RaftReconfigurationBaseTest.java
index 036718ea3..7a2f1a24e 100644
--- 
a/ratis-server/src/test/java/org/apache/ratis/server/impl/RaftReconfigurationBaseTest.java
+++ 
b/ratis-server/src/test/java/org/apache/ratis/server/impl/RaftReconfigurationBaseTest.java
@@ -159,7 +159,7 @@ public abstract class RaftReconfigurationBaseTest<CLUSTER 
extends MiniRaftCluste
 
       RaftGroupId groupId = cluster.getGroup().getGroupId();
       RaftPeer curPeer = cluster.getGroup().getPeers().iterator().next();
-      RaftPeer newPeer = cluster.addNewPeers(1, true, 
true).getAddedPeers().get(0);
+      RaftPeer newPeer = cluster.addNewPeers(1, true).getAddedPeers().get(0);
 
       RaftServerProxy leaderServer = cluster.getServer(curPeer.getId());
 
@@ -336,7 +336,7 @@ public abstract class RaftReconfigurationBaseTest<CLUSTER 
extends MiniRaftCluste
         CountDownLatch latch = new CountDownLatch(1);
         Thread clientThread = new Thread(() -> {
           try {
-            PeerChanges c1 = cluster.addNewPeers(2, true, true);
+            PeerChanges c1 = cluster.addNewPeers(2, true);
             LOG.info("Start changing the configuration: {}", 
c1.getPeersInNewConf());
 
             RaftClientReply reply = 
client.admin().setConfiguration(c1.getPeersInNewConf());
diff --git 
a/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java
 
b/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java
index 91f974dbf..09b5ee59a 100644
--- 
a/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java
+++ 
b/ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java
@@ -227,7 +227,7 @@ public abstract class RaftSnapshotBaseTest<CLUSTER extends 
MiniRaftCluster>
       }
 
       // add a new peer
-      final PeerChanges change = cluster.addNewPeers(1, true, true);
+      final PeerChanges change = cluster.addNewPeers(1, true);
       // trigger setConfiguration
       RaftServerTestUtil.runWithMinorityPeers(cluster, 
change.getPeersInNewConf(), cluster::setConfiguration);
 
@@ -292,7 +292,7 @@ public abstract class RaftSnapshotBaseTest<CLUSTER extends 
MiniRaftCluster>
       assertLeaderContent(cluster);
 
       // add a new peer
-      final PeerChanges change = cluster.addNewPeers(1, true, true);
+      final PeerChanges change = cluster.addNewPeers(1, true);
       // trigger setConfiguration
       RaftServerTestUtil.runWithMinorityPeers(cluster, 
change.getPeersInNewConf(), cluster::setConfiguration);
 
diff --git 
a/ratis-test/src/test/java/org/apache/ratis/shell/cli/sh/PeerCommandIntegrationTest.java
 
b/ratis-test/src/test/java/org/apache/ratis/shell/cli/sh/PeerCommandIntegrationTest.java
index f12fc7d4e..22f15e531 100644
--- 
a/ratis-test/src/test/java/org/apache/ratis/shell/cli/sh/PeerCommandIntegrationTest.java
+++ 
b/ratis-test/src/test/java/org/apache/ratis/shell/cli/sh/PeerCommandIntegrationTest.java
@@ -82,7 +82,7 @@ public abstract class PeerCommandIntegrationTest <CLUSTER 
extends MiniRaftCluste
 
     RaftTestUtil.waitForLeader(cluster);
     final List<RaftPeer> peers = cluster.getPeers();
-    final List<RaftPeer> newPeers = cluster.addNewPeers(1, true, 
true).getAddedPeers();
+    final List<RaftPeer> newPeers = cluster.addNewPeers(1, 
true).getAddedPeers();
 
     RaftServerTestUtil.waitAndCheckNewConf(cluster, peers, 0, null);
     StringBuilder sb = new StringBuilder();

Reply via email to