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();