Skip to content

Commit 7e66f1a

Browse files
authored
RATIS-2332. Start new servers with empty peer list in tests (#1294)
1 parent d902c59 commit 7e66f1a

File tree

8 files changed

+20
-54
lines changed

8 files changed

+20
-54
lines changed

ratis-server/src/test/java/org/apache/ratis/InstallSnapshotFromLeaderTests.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,7 @@ private void testMultiFileInstallSnapshot(CLUSTER cluster) throws Exception {
116116
Assertions.assertEquals(3, snapshot.getFiles().size());
117117

118118
// add two more peers
119-
final PeerChanges change = cluster.addNewPeers(2, true,
120-
true);
119+
final PeerChanges change = cluster.addNewPeers(2, true);
121120
// trigger setConfiguration
122121
cluster.setConfiguration(change.getPeersInNewConf());
123122

@@ -161,8 +160,7 @@ private void testInstallSnapshotDuringLeaderSwitch(CLUSTER cluster) throws Excep
161160
}
162161

163162
// add two more peers and install snapshot from leaders
164-
final PeerChanges change = cluster.addNewPeers(2, true,
165-
true);
163+
final PeerChanges change = cluster.addNewPeers(2, true);
166164
try (final RaftClient client = cluster.createClient(leaderId, RetryPolicies.noRetry())) {
167165
final RaftException e = Assertions.assertThrows(RaftException.class,
168166
() -> client.admin().setConfiguration(change.getPeersInNewConf()));

ratis-server/src/test/java/org/apache/ratis/InstallSnapshotNotificationTests.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ private void testAddNewFollowers(CLUSTER cluster, int numRequests) throws Except
241241
Assertions.assertTrue(set);
242242

243243
// Add new peer(s)
244-
final PeerChanges change = cluster.addNewPeers(1, true, true);
244+
final PeerChanges change = cluster.addNewPeers(1, true);
245245
// trigger setConfiguration
246246
RaftServerTestUtil.runWithMinorityPeers(cluster, change.getPeersInNewConf(), cluster::setConfiguration);
247247

@@ -389,7 +389,7 @@ private void testInstallSnapshotNotificationCount(CLUSTER cluster) throws Except
389389

390390
// Add new peer(s) who will need snapshots from the leader.
391391
final int numNewPeers = 1;
392-
final PeerChanges change = cluster.addNewPeers(numNewPeers, true, true);
392+
final PeerChanges change = cluster.addNewPeers(numNewPeers, true);
393393
// trigger setConfiguration
394394
RaftServerTestUtil.runWithMinorityPeers(cluster, change.getPeersInNewConf(), cluster::setConfiguration);
395395
RaftServerTestUtil.waitAndCheckNewConf(cluster, change.getPeersInNewConf(), 0, null);
@@ -475,7 +475,7 @@ private void testInstallSnapshotInstalledEvent(CLUSTER cluster) throws Exception
475475
Assertions.assertTrue(set);
476476

477477
// add one new peer
478-
final PeerChanges change = cluster.addNewPeers(1, true, true);
478+
final PeerChanges change = cluster.addNewPeers(1, true);
479479
// trigger setConfiguration
480480
RaftServerTestUtil.runWithMinorityPeers(cluster, change.getPeersInNewConf(), cluster::setConfiguration);
481481
RaftServerTestUtil.waitAndCheckNewConf(cluster, change.getPeersInNewConf(), 0, null);
@@ -551,7 +551,7 @@ private void testInstallSnapshotDuringBootstrap(CLUSTER cluster) throws Exceptio
551551

552552
// Add new peer(s)
553553
final int numNewPeers = 1;
554-
final PeerChanges change = cluster.addNewPeers(numNewPeers, true, true);
554+
final PeerChanges change = cluster.addNewPeers(numNewPeers, true);
555555
// trigger setConfiguration
556556
RaftServerTestUtil.runWithMinorityPeers(cluster, change.getPeersInNewConf(), cluster::setConfiguration);
557557

ratis-server/src/test/java/org/apache/ratis/RaftExceptionBaseTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,7 @@ void runTestNotLeaderExceptionWithReconf(CLUSTER cluster) throws Exception {
110110
final RaftPeerId newLeader = RaftTestUtil.changeLeader(cluster, oldLeader);
111111

112112
// add two more peers
113-
PeerChanges change = cluster.addNewPeers(new String[]{
114-
"ss1", "ss2"}, true, false);
113+
PeerChanges change = cluster.addNewPeers(2, true);
115114
// trigger setConfiguration
116115
LOG.info("Start changing the configuration: {}", change.getPeersInNewConf());
117116
try (final RaftClient c2 = cluster.createClient(newLeader)) {

ratis-server/src/test/java/org/apache/ratis/server/impl/LeaderElectionTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ public void testAddServerForWaitReady() throws IOException, InterruptedException
156156
}
157157
// add 3 new servers and wait longer time
158158
CodeInjectionForTesting.put(RaftServerImpl.START_COMPLETE, new SleepCode(2000));
159-
final PeerChanges peerChanges = cluster.addNewPeers(2, true, false);
159+
final PeerChanges peerChanges = cluster.addNewPeers(2, true);
160160
LOG.info("add new 3 servers");
161161
LOG.info(cluster.printServers());
162162
RaftClientReply reply = client.admin().setConfiguration(SetConfigurationRequest.Arguments.newBuilder()
@@ -461,7 +461,7 @@ public void testAddListener() throws Exception {
461461
client.io().send(new RaftTestUtil.SimpleMessage("message"));
462462
List<RaftPeer> servers = cluster.getPeers();
463463
assertEquals(servers.size(), 3);
464-
final PeerChanges changes = cluster.addNewPeers(1, true, false, LISTENER);
464+
final PeerChanges changes = cluster.addNewPeers(1, true);
465465
final List<RaftPeer> added = changes.getAddedPeers();
466466
final RaftClientReply reply = client.admin().setConfiguration(servers, added);
467467
assertTrue(reply.isSuccess());
@@ -486,7 +486,7 @@ public void testAddFollowerWhenExistsListener() throws Exception {
486486
List<RaftPeer> listener = new ArrayList<>(
487487
leader.getRaftConf().getAllPeers(RaftProtos.RaftPeerRole.LISTENER));
488488
assertEquals(1, listener.size());
489-
final PeerChanges changes = cluster.addNewPeers(1, true, false);
489+
final PeerChanges changes = cluster.addNewPeers(1, true);
490490
final List<RaftPeer> newPeers = new ArrayList<>(changes.getAddedPeers());
491491
newPeers.addAll(leader.getRaftConf().getAllPeers(RaftProtos.RaftPeerRole.FOLLOWER));
492492
RaftClientReply reply = client.admin().setConfiguration(newPeers, listener);

ratis-server/src/test/java/org/apache/ratis/server/impl/MiniRaftCluster.java

Lines changed: 5 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import org.apache.ratis.client.RaftClient;
2323
import org.apache.ratis.conf.Parameters;
2424
import org.apache.ratis.conf.RaftProperties;
25-
import org.apache.ratis.proto.RaftProtos;
2625
import org.apache.ratis.protocol.ClientId;
2726
import org.apache.ratis.protocol.Message;
2827
import org.apache.ratis.protocol.RaftClientReply;
@@ -82,6 +81,8 @@
8281
import java.util.stream.Stream;
8382
import java.util.stream.StreamSupport;
8483

84+
import static org.apache.ratis.proto.RaftProtos.RaftPeerRole.LISTENER;
85+
8586
public abstract class MiniRaftCluster implements Closeable {
8687
public static final Logger LOG = LoggerFactory.getLogger(MiniRaftCluster.class);
8788

@@ -246,7 +247,7 @@ public static RaftGroup initRaftGroup(Collection<String> ids, Collection<String>
246247
Stream<RaftPeer> listener = listenerIds.stream()
247248
.map(id -> RaftPeer.newBuilder().setId(id))
248249
.map(MiniRaftCluster::assignAddresses)
249-
.map(p -> p.setStartupRole(RaftProtos.RaftPeerRole.LISTENER))
250+
.map(p -> p.setStartupRole(LISTENER))
250251
.map(RaftPeer.Builder::build);
251252
final RaftPeer[] peers = Stream.concat(peer, listener).toArray(RaftPeer[]::new);
252253

@@ -433,43 +434,11 @@ private static List<RaftPeer> toRaftPeers(Iterable<RaftServer> servers) {
433434

434435
public PeerChanges addNewPeers(int number, boolean startNewPeer)
435436
throws IOException {
436-
return addNewPeers(generateIds(number, servers.size()), startNewPeer, false);
437-
}
438-
439-
public PeerChanges addNewPeers(int number, boolean startNewPeer,
440-
boolean emptyPeer) throws IOException {
441-
return addNewPeers(generateIds(number, servers.size()), startNewPeer, emptyPeer,
442-
RaftProtos.RaftPeerRole.FOLLOWER);
443-
}
444-
445-
public PeerChanges addNewPeers(String[] ids, boolean startNewPeer,
446-
boolean emptyPeer) throws IOException {
447-
return addNewPeers(ids, startNewPeer, emptyPeer, RaftProtos.RaftPeerRole.FOLLOWER);
448-
}
449-
450-
public PeerChanges addNewPeers(int number, boolean startNewPeer,
451-
boolean emptyPeer, RaftProtos.RaftPeerRole startRole) throws IOException {
452-
return addNewPeers(generateIds(number, servers.size()), startNewPeer, emptyPeer, startRole);
453-
}
454-
455-
public PeerChanges addNewPeers(String[] ids, boolean startNewPeer,
456-
boolean emptyPeer, RaftProtos.RaftPeerRole startRole) throws IOException {
437+
final String[] ids = generateIds(number, servers.size());
457438
LOG.info("Add new peers {}", Arrays.asList(ids));
458439

459440
final Iterable<RaftPeerId> peerIds = CollectionUtils.as(Arrays.asList(ids), RaftPeerId::valueOf);
460-
final RaftGroup raftGroup;
461-
if (emptyPeer) {
462-
raftGroup = RaftGroup.valueOf(group.getGroupId(), Collections.emptyList());
463-
} else {
464-
final Collection<RaftPeer> newPeers = StreamSupport.stream(peerIds.spliterator(), false)
465-
.map(id -> RaftPeer.newBuilder().setId(id)
466-
.setStartupRole(startRole))
467-
.map(MiniRaftCluster::assignAddresses)
468-
.map(RaftPeer.Builder::build)
469-
.collect(Collectors.toSet());
470-
newPeers.addAll(group.getPeers());
471-
raftGroup = RaftGroup.valueOf(group.getGroupId(), newPeers);
472-
}
441+
final RaftGroup raftGroup = RaftGroup.valueOf(group.getGroupId(), Collections.emptyList());
473442

474443
// create and add new RaftServers
475444
final Collection<RaftServer> newServers = putNewServers(peerIds, true, raftGroup);

ratis-server/src/test/java/org/apache/ratis/server/impl/RaftReconfigurationBaseTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ public void testLeaderElectionWhenChangeFromSingleToHA() throws Exception {
159159

160160
RaftGroupId groupId = cluster.getGroup().getGroupId();
161161
RaftPeer curPeer = cluster.getGroup().getPeers().iterator().next();
162-
RaftPeer newPeer = cluster.addNewPeers(1, true, true).getAddedPeers().get(0);
162+
RaftPeer newPeer = cluster.addNewPeers(1, true).getAddedPeers().get(0);
163163

164164
RaftServerProxy leaderServer = cluster.getServer(curPeer.getId());
165165

@@ -336,7 +336,7 @@ void runTestReconfTwice(CLUSTER cluster) throws Exception {
336336
CountDownLatch latch = new CountDownLatch(1);
337337
Thread clientThread = new Thread(() -> {
338338
try {
339-
PeerChanges c1 = cluster.addNewPeers(2, true, true);
339+
PeerChanges c1 = cluster.addNewPeers(2, true);
340340
LOG.info("Start changing the configuration: {}", c1.getPeersInNewConf());
341341

342342
RaftClientReply reply = client.admin().setConfiguration(c1.getPeersInNewConf());

ratis-server/src/test/java/org/apache/ratis/statemachine/RaftSnapshotBaseTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,7 @@ void runTestBasicInstallSnapshot(CLUSTER cluster) throws Exception {
227227
}
228228

229229
// add a new peer
230-
final PeerChanges change = cluster.addNewPeers(1, true, true);
230+
final PeerChanges change = cluster.addNewPeers(1, true);
231231
// trigger setConfiguration
232232
RaftServerTestUtil.runWithMinorityPeers(cluster, change.getPeersInNewConf(), cluster::setConfiguration);
233233

@@ -292,7 +292,7 @@ void runTestInstallSnapshotDuringBootstrap(CLUSTER cluster) throws Exception {
292292
assertLeaderContent(cluster);
293293

294294
// add a new peer
295-
final PeerChanges change = cluster.addNewPeers(1, true, true);
295+
final PeerChanges change = cluster.addNewPeers(1, true);
296296
// trigger setConfiguration
297297
RaftServerTestUtil.runWithMinorityPeers(cluster, change.getPeersInNewConf(), cluster::setConfiguration);
298298

ratis-test/src/test/java/org/apache/ratis/shell/cli/sh/PeerCommandIntegrationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ void runTestPeerAddCommand(MiniRaftCluster cluster) throws Exception {
8282

8383
RaftTestUtil.waitForLeader(cluster);
8484
final List<RaftPeer> peers = cluster.getPeers();
85-
final List<RaftPeer> newPeers = cluster.addNewPeers(1, true, true).getAddedPeers();
85+
final List<RaftPeer> newPeers = cluster.addNewPeers(1, true).getAddedPeers();
8686

8787
RaftServerTestUtil.waitAndCheckNewConf(cluster, peers, 0, null);
8888
StringBuilder sb = new StringBuilder();

0 commit comments

Comments
 (0)