Introduce resetReplicatedLog() 13/116013/1
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 23 Mar 2025 02:26:58 +0000 (03:26 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 23 Mar 2025 02:29:34 +0000 (03:29 +0100)
A ton of our tests rely on replacing ReplicatedLog. This is a
huge-no-no, which is unfortunately exposed via RaftActorContext.

This patch splits of resetReplicatedLog(), which does the same thing,
except it has a different name and is amenable to being implemented
as a set of operations rather than a wholesale replacement.

JIRA: CONTROLLER-2137
Change-Id: I4774564b092fadbbd4f0f4a57f3d13e1234ec376
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorContextImpl.java
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MockRaftActorContext.java
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorServerConfigurationSupportTest.java
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractLeaderTest.java
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehaviorTest.java
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/CandidateTest.java
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/FollowerTest.java
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/LeaderTest.java
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/behaviors/PartitionedCandidateOnStartupElectionScenarioTest.java

index 2b9b610570b9316af260590475587a84ae679805..6d77eb0e016f2542e4b96114b53d3f1d4a44a2e3 100644 (file)
@@ -178,8 +178,13 @@ public class RaftActorContextImpl implements RaftActorContext {
 
     @Override
     @Deprecated(forRemoval = true)
-    public void setReplicatedLog(final ReplicatedLog replicatedLog) {
-        this.replicatedLog = replicatedLog;
+    public final void setReplicatedLog(final ReplicatedLog replicatedLog) {
+        resetReplicatedLog(replicatedLog);
+    }
+
+    @Deprecated(forRemoval = true)
+    public final void resetReplicatedLog(final @NonNull ReplicatedLog newState) {
+        this.replicatedLog = requireNonNull(newState);
     }
 
     @Override
index a8684dce3ace530d56d06a26ec2c963a53e85bed..9b2213182a4d2c2ae50313db2a8501d5a63d3454 100644 (file)
@@ -43,7 +43,7 @@ public class MockRaftActorContext extends RaftActorContextImpl {
     public MockRaftActorContext(final int payloadVersion) {
         super(null, null, newLocalAccess("test"), new HashMap<>(), new DefaultConfigParamsImpl(),
             (short) payloadVersion, TestDataProvider.INSTANCE, applyState -> { }, MoreExecutors.directExecutor());
-        setReplicatedLog(new MockReplicatedLogBuilder().build());
+        resetReplicatedLog(new MockReplicatedLogBuilder().build());
     }
 
     public MockRaftActorContext(final String id, final ActorSystem system, final ActorRef actor,
@@ -68,7 +68,7 @@ public class MockRaftActorContext extends RaftActorContextImpl {
         long term = currentTerm();
         replicatedLog.append(new SimpleReplicatedLogEntry(0, term, new MockPayload("1")));
         replicatedLog.append(new SimpleReplicatedLogEntry(1, term, new MockPayload("2")));
-        setReplicatedLog(replicatedLog);
+        resetReplicatedLog(replicatedLog);
         replicatedLog.setCommitIndex(replicatedLog.lastIndex());
         replicatedLog.setLastApplied(replicatedLog.lastIndex());
     }
index cb7d43b81d4aef2e28f6a658e2ce141412183fa9..2dbb67a2c14b3bc3c48a97dac23ba2496fb6234e 100644 (file)
@@ -148,7 +148,7 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest {
         var followerLog = new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(0, 3, 1).build();
         followerLog.setCommitIndex(2);
         followerLog.setLastApplied(2);
-        followerActorContext.setReplicatedLog(followerLog);
+        followerActorContext.resetReplicatedLog(followerLog);
 
         Follower follower = new Follower(followerActorContext);
         followerActor.underlyingActor().setBehavior(follower);
@@ -235,11 +235,11 @@ public class RaftActorServerConfigurationSupportTest extends AbstractActorTest {
         LOG.info("testAddServerWithNoExistingFollower starting");
 
         setupNewFollower();
-        RaftActorContext initialActorContext = new MockRaftActorContext();
+        final var initialActorContext = new MockRaftActorContext();
         final var initialLog = new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(0, 2, 1).build();
         initialLog.setCommitIndex(1);
         initialLog.setLastApplied(1);
-        initialActorContext.setReplicatedLog(initialLog);
+        initialActorContext.resetReplicatedLog(initialLog);
 
         TestActorRef<MockLeaderRaftActor> leaderActor = actorFactory.createTestActor(
                 MockLeaderRaftActor.props(stateDir(), Map.of(), initialActorContext)
index ffde165a1adf06b46235aaba1b83975c2faa1b58..af60c25b8bc6789389d72ff0087f005808160cc2 100644 (file)
@@ -52,7 +52,7 @@ public abstract class AbstractLeaderTest<T extends AbstractLeader> extends Abstr
 
         leaderActorContext.setConfigParams(configParams);
 
-        leaderActorContext.setReplicatedLog(
+        leaderActorContext.resetReplicatedLog(
                 new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(1,5,1).build());
 
         Map<String, String> peerAddresses = new HashMap<>();
index bd1efc5113b83792f6c3866aaf8c8c2ba7b85c19..54857c65d91ac42c41d13e46f92fc882a99c1533 100644 (file)
@@ -230,7 +230,7 @@ public abstract class AbstractRaftActorBehaviorTest<T extends RaftActorBehavior>
         //log has 1 entry with replicatedToAllIndex = 0, does not do anything, returns the
         var log = new MockReplicatedLogBuilder().createEntries(0, 1, 1).build();
         log.setLastApplied(0);
-        context.setReplicatedLog(log);
+        context.resetReplicatedLog(log);
         abstractBehavior.performSnapshotWithoutCapture(0);
         assertEquals(-1, abstractBehavior.getReplicatedToAllIndex());
         assertEquals(1, log.size());
@@ -238,7 +238,7 @@ public abstract class AbstractRaftActorBehaviorTest<T extends RaftActorBehavior>
         //2 entries, lastApplied still 0, no purging.
         log = new MockReplicatedLogBuilder().createEntries(0, 2, 1).build();
         log.setLastApplied(0);
-        context.setReplicatedLog(log);
+        context.resetReplicatedLog(log);
         abstractBehavior.performSnapshotWithoutCapture(0);
         assertEquals(-1, abstractBehavior.getReplicatedToAllIndex());
         assertEquals(2, context.getReplicatedLog().size());
@@ -246,7 +246,7 @@ public abstract class AbstractRaftActorBehaviorTest<T extends RaftActorBehavior>
         //2 entries, lastApplied still 0, no purging.
         log = new MockReplicatedLogBuilder().createEntries(0, 2, 1).build();
         log.setLastApplied(1);
-        context.setReplicatedLog(log);
+        context.resetReplicatedLog(log);
         abstractBehavior.performSnapshotWithoutCapture(0);
         assertEquals(0, abstractBehavior.getReplicatedToAllIndex());
         assertEquals(1, context.getReplicatedLog().size());
@@ -255,7 +255,7 @@ public abstract class AbstractRaftActorBehaviorTest<T extends RaftActorBehavior>
         // 1 will only get purged
         log = new MockReplicatedLogBuilder().createEntries(0, 5, 1).build();
         log.setLastApplied(2);
-        context.setReplicatedLog(log);
+        context.resetReplicatedLog(log);
         abstractBehavior.performSnapshotWithoutCapture(3);
         assertEquals(1, abstractBehavior.getReplicatedToAllIndex());
         assertEquals(3, context.getReplicatedLog().size());
@@ -263,7 +263,7 @@ public abstract class AbstractRaftActorBehaviorTest<T extends RaftActorBehavior>
         // scenario where Last applied > Replicated to all index (becoz of a slow follower)
         log = new MockReplicatedLogBuilder().createEntries(0, 3, 1).build();
         log.setLastApplied(2);
-        context.setReplicatedLog(log);
+        context.resetReplicatedLog(log);
         abstractBehavior.performSnapshotWithoutCapture(1);
         assertEquals(1, abstractBehavior.getReplicatedToAllIndex());
         assertEquals(1, context.getReplicatedLog().size());
@@ -296,7 +296,7 @@ public abstract class AbstractRaftActorBehaviorTest<T extends RaftActorBehavior>
             final ReplicatedLogEntry logEntry) {
         final var log = new SimpleReplicatedLog();
         log.append(logEntry);
-        actorContext.setReplicatedLog(log);
+        actorContext.resetReplicatedLog(log);
         return log;
     }
 
index cfbf111000f0d111a586221281f932f27ae9c75a..46f287b0046b1c813308eeb654e56c3411cf550b 100644 (file)
@@ -135,7 +135,7 @@ public class CandidateTest extends AbstractRaftActorBehaviorTest<Candidate> {
         final var log = new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(0, 5, 1).build();
         log.setCommitIndex(log.lastIndex());
         log.setLastApplied(log.lastIndex());
-        raftActorContext.setReplicatedLog(log);
+        raftActorContext.resetReplicatedLog(log);
         raftActorContext.setPeerAddresses(setupPeers(4));
         candidate = new Candidate(raftActorContext);
 
@@ -161,7 +161,7 @@ public class CandidateTest extends AbstractRaftActorBehaviorTest<Candidate> {
     public void testBecomeLeaderOnReceivingMajorityVotesWithNonVotingPeers() {
         final var raftActorContext = createActorContext();
         raftActorContext.setPeerAddresses(setupPeers(4));
-        raftActorContext.setReplicatedLog(new MockRaftActorContext.MockReplicatedLogBuilder().build());
+        raftActorContext.resetReplicatedLog(new MockRaftActorContext.MockReplicatedLogBuilder().build());
         raftActorContext.getPeerInfo("peer1").setVotingState(VotingState.NON_VOTING);
         raftActorContext.getPeerInfo("peer4").setVotingState(VotingState.NON_VOTING);
         candidate = new Candidate(raftActorContext);
index 10746faeaf47deeb2b0f573008d0f82d662ef17d..29574e4920a2f29f99c2a18d01ce680d46490261 100644 (file)
@@ -526,9 +526,10 @@ public class FollowerTest extends AbstractRaftActorBehaviorTest<Follower> {
         logStart("testHandleAppendEntriesSenderPrevLogIndexIsInTheSnapshot");
 
         MockRaftActorContext context = createActorContext();
-        context.setReplicatedLog(new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(5, 8, 3).build());
-        context.getReplicatedLog().setSnapshotIndex(4);
-        context.getReplicatedLog().setSnapshotTerm(3);
+        final var log = new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(5, 8, 3).build();
+        log.setSnapshotIndex(4);
+        log.setSnapshotTerm(3);
+        context.resetReplicatedLog(log);
 
         AppendEntries appendEntries = new AppendEntries(3, "leader", 1, 3, List.of(), 8, -1, (short)0);
 
@@ -564,7 +565,7 @@ public class FollowerTest extends AbstractRaftActorBehaviorTest<Follower> {
         log.append(newReplicatedLogEntry(1, 1, "one"));
         log.append(newReplicatedLogEntry(1, 2, "two"));
 
-        context.setReplicatedLog(log);
+        context.resetReplicatedLog(log);
 
         // Prepare the entries to be sent with AppendEntries
         List<ReplicatedLogEntry> entries = List.of(
@@ -615,7 +616,7 @@ public class FollowerTest extends AbstractRaftActorBehaviorTest<Follower> {
         log.append(newReplicatedLogEntry(1, 1, "one"));
         log.append(newReplicatedLogEntry(1, 2, "two"));
 
-        context.setReplicatedLog(log);
+        context.resetReplicatedLog(log);
 
         // Prepare the entries to be sent with AppendEntries
         List<ReplicatedLogEntry> entries = List.of(
@@ -664,7 +665,7 @@ public class FollowerTest extends AbstractRaftActorBehaviorTest<Follower> {
         log.append(newReplicatedLogEntry(1, 1, "one"));
         log.append(newReplicatedLogEntry(1, 2, "two"));
 
-        context.setReplicatedLog(log);
+        context.resetReplicatedLog(log);
 
         // Prepare the entries to be sent with AppendEntries
         List<ReplicatedLogEntry> entries = List.of(
@@ -698,7 +699,7 @@ public class FollowerTest extends AbstractRaftActorBehaviorTest<Follower> {
         log.append(newReplicatedLogEntry(1, 1, "one"));
         log.append(newReplicatedLogEntry(1, 2, "two"));
 
-        context.setReplicatedLog(log);
+        context.resetReplicatedLog(log);
 
         // Prepare the entries to be sent with AppendEntries
         List<ReplicatedLogEntry> entries = List.of(newReplicatedLogEntry(1, 4, "four"));
@@ -727,7 +728,7 @@ public class FollowerTest extends AbstractRaftActorBehaviorTest<Follower> {
         log.append(newReplicatedLogEntry(1, 0, "zero"));
         log.append(newReplicatedLogEntry(1, 1, "one"));
 
-        context.setReplicatedLog(log);
+        context.resetReplicatedLog(log);
 
         // Send the last entry again.
         List<ReplicatedLogEntry> entries = List.of(newReplicatedLogEntry(1, 1, "one"));
@@ -768,7 +769,7 @@ public class FollowerTest extends AbstractRaftActorBehaviorTest<Follower> {
         log.setSnapshotIndex(3);
         log.setSnapshotTerm(1);
 
-        context.setReplicatedLog(log);
+        context.resetReplicatedLog(log);
 
         // Prepare the entries to be sent with AppendEntries
         List<ReplicatedLogEntry> entries = List.of(newReplicatedLogEntry(1, 4, "four"));
@@ -1270,7 +1271,7 @@ public class FollowerTest extends AbstractRaftActorBehaviorTest<Follower> {
         logStart("testNeedsLeaderAddress");
 
         MockRaftActorContext context = createActorContext();
-        context.setReplicatedLog(new MockRaftActorContext.SimpleReplicatedLog());
+        context.resetReplicatedLog(new MockRaftActorContext.SimpleReplicatedLog());
         context.addToPeers("leader", null, VotingState.VOTING);
         ((DefaultConfigParamsImpl)context.getConfigParams()).setPeerAddressResolver(NoopPeerAddressResolver.INSTANCE);
 
index 00a8e81e87b11539df8e9325b17d727978915ae6..5978f3dd26ab411484bb7fc2bc087469a3a53c17 100644 (file)
@@ -1278,13 +1278,13 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         //create 3 entries
         final var leaderLog = new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(0, 3, 1).build();
         leaderLog.setCommitIndex(1);
-        leaderActorContext.setReplicatedLog(leaderLog);
+        leaderActorContext.resetReplicatedLog(leaderLog);
 
         // follower too has the exact same log entries and has the same commit index
         followerActorContext.getReplicatedLog().removeFrom(0);
         final var followerLog = new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(0, 3, 1).build();
         followerLog.setCommitIndex(1);
-        followerActorContext.setReplicatedLog(followerLog);
+        followerActorContext.resetReplicatedLog(followerLog);
 
         leader = new Leader(leaderActorContext);
         leaderActorContext.setCurrentBehavior(leader);
@@ -1330,13 +1330,13 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
 
         final var leaderLog = new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(0, 3, 1).build();
         leaderLog.setCommitIndex(1);
-        leaderActorContext.setReplicatedLog(leaderLog);
+        leaderActorContext.resetReplicatedLog(leaderLog);
 
         // follower has the same log entries but its commit index > leaders commit index
         followerActorContext.getReplicatedLog().removeFrom(0);
         final var followerLog = new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(0, 3, 1).build();
         followerLog.setCommitIndex(2);
-        followerActorContext.setReplicatedLog(followerLog);
+        followerActorContext.resetReplicatedLog(followerLog);
 
         leader = new Leader(leaderActorContext);
 
@@ -1390,7 +1390,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         final var leaderCommitIndex = 2;
         leaderLog.setCommitIndex(leaderCommitIndex);
         leaderLog.setLastApplied(leaderCommitIndex);
-        leaderActorContext.setReplicatedLog(leaderLog);
+        leaderActorContext.resetReplicatedLog(leaderLog);
 
         final var leadersSecondLogEntry = leaderActorContext.getReplicatedLog().get(1);
         final var leadersThirdLogEntry = leaderActorContext.getReplicatedLog().get(2);
@@ -1400,7 +1400,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         var followerLog = new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(0, 1, 1).build();
         followerLog.setCommitIndex(0);
         followerLog.setLastApplied(0);
-        followerActorContext.setReplicatedLog(followerLog);
+        followerActorContext.resetReplicatedLog(followerLog);
 
         Follower follower = new Follower(followerActorContext);
         followerActor.underlyingActor().setBehavior(follower);
@@ -1471,11 +1471,11 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         final var leadersSecondLogEntry = leaderLog.get(1);
         leaderLog.setCommitIndex(leaderCommitIndex);
         leaderLog.setLastApplied(leaderCommitIndex);
-        leaderActorContext.setReplicatedLog(leaderLog);
+        leaderActorContext.resetReplicatedLog(leaderLog);
 
         final var followerActorContext = createFollowerActorContextWithLeader();
 
-        followerActorContext.setReplicatedLog(new MockRaftActorContext.MockReplicatedLogBuilder().build());
+        followerActorContext.resetReplicatedLog(new MockRaftActorContext.MockReplicatedLogBuilder().build());
 
         Follower follower = new Follower(followerActorContext);
         followerActor.underlyingActor().setBehavior(follower);
@@ -1547,14 +1547,14 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         final var leaderLog = new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(0, 2, 2).build();
         leaderLog.setCommitIndex(leaderCommitIndex);
         leaderLog.setLastApplied(leaderCommitIndex);
-        leaderActorContext.setReplicatedLog(leaderLog);
+        leaderActorContext.resetReplicatedLog(leaderLog);
 
         final ReplicatedLogEntry leadersFirstLogEntry = leaderActorContext.getReplicatedLog().get(0);
         final ReplicatedLogEntry leadersSecondLogEntry = leaderActorContext.getReplicatedLog().get(1);
 
         MockRaftActorContext followerActorContext = createFollowerActorContextWithLeader();
 
-        followerActorContext.setReplicatedLog(
+        followerActorContext.resetReplicatedLog(
                 new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(0, 1, 1).build());
 
         Follower follower = new Follower(followerActorContext);
@@ -1626,7 +1626,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         MockRaftActorContext leaderActorContext = createActorContext();
         ((DefaultConfigParamsImpl) leaderActorContext.getConfigParams()).setHeartBeatInterval(Duration.ofSeconds(1000));
 
-        leaderActorContext.setReplicatedLog(
+        leaderActorContext.resetReplicatedLog(
                 new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(0, 2, 2).build());
 
         leader = new Leader(leaderActorContext);
@@ -1648,7 +1648,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         MockRaftActorContext leaderActorContext = createActorContext();
         ((DefaultConfigParamsImpl) leaderActorContext.getConfigParams()).setHeartBeatInterval(Duration.ofSeconds(1000));
 
-        leaderActorContext.setReplicatedLog(
+        leaderActorContext.resetReplicatedLog(
                 new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(0, 2, 2).build());
         leaderActorContext.setRaftPolicy(createRaftPolicy(false, false));
 
@@ -1674,7 +1674,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         final var log = new MockReplicatedLogBuilder().createEntries(0, 3, 1).build();
         log.setCommitIndex(1);
         log.setLastApplied(1);
-        leaderActorContext.setReplicatedLog(log);
+        leaderActorContext.resetReplicatedLog(log);
         leaderActorContext.setTermInfo(new TermInfo(1, "leader"));
 
         leader = new Leader(leaderActorContext);
@@ -1742,7 +1742,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         final var leaderCommitIndex = 3;
         leaderLog.setCommitIndex(leaderCommitIndex);
         leaderLog.setLastApplied(leaderCommitIndex);
-        leaderActorContext.setReplicatedLog(leaderLog);
+        leaderActorContext.resetReplicatedLog(leaderLog);
 
         final var leadersFirstLogEntry = leaderLog.get(0);
         final var leadersSecondLogEntry = leaderLog.get(1);
@@ -1754,7 +1754,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         var followerLog = new MockRaftActorContext.MockReplicatedLogBuilder().build();
         followerLog.setCommitIndex(-1);
         followerLog.setLastApplied(-1);
-        followerActorContext.setReplicatedLog(followerLog);
+        followerActorContext.resetReplicatedLog(followerLog);
 
         Follower follower = new Follower(followerActorContext);
         followerActor.underlyingActor().setBehavior(follower);
@@ -1942,7 +1942,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
 
         leaderActorContext.setConfigParams(configParams);
 
-        leaderActorContext.setReplicatedLog(
+        leaderActorContext.resetReplicatedLog(
                 new MockRaftActorContext.MockReplicatedLogBuilder().createEntries(1,5,1).build());
 
         Map<String, String> peerAddresses = new HashMap<>();
@@ -1989,7 +1989,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         final var leaderLog = new MockRaftActorContext.MockReplicatedLogBuilder().build();
         leaderLog.setCommitIndex(-1);
         leaderLog.setLastApplied(-1);
-        leaderActorContext.setReplicatedLog(leaderLog);
+        leaderActorContext.resetReplicatedLog(leaderLog);
 
         String nonVotingFollowerId = "nonvoting-follower";
         ActorRef nonVotingFollowerActor = actorFactory.createActor(
@@ -2052,7 +2052,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
 
         MockRaftActorContext leaderActorContext = createActorContextWithFollower();
         ((DefaultConfigParamsImpl) leaderActorContext.getConfigParams()).setHeartBeatInterval(Duration.ofSeconds(1000));
-        leaderActorContext.setReplicatedLog(new MockRaftActorContext.MockReplicatedLogBuilder().build());
+        leaderActorContext.resetReplicatedLog(new MockRaftActorContext.MockReplicatedLogBuilder().build());
 
         leader = new Leader(leaderActorContext);
         leaderActorContext.setCurrentBehavior(leader);
@@ -2092,7 +2092,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
 
         MockRaftActorContext leaderActorContext = createActorContextWithFollower();
         ((DefaultConfigParamsImpl) leaderActorContext.getConfigParams()).setHeartBeatInterval(Duration.ofSeconds(1000));
-        leaderActorContext.setReplicatedLog(new MockRaftActorContext.MockReplicatedLogBuilder().build());
+        leaderActorContext.resetReplicatedLog(new MockRaftActorContext.MockReplicatedLogBuilder().build());
 
         leader = new Leader(leaderActorContext);
         leaderActorContext.setCurrentBehavior(leader);
@@ -2163,7 +2163,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         MockRaftActorContext leaderActorContext = createActorContextWithFollower();
         ((DefaultConfigParamsImpl) leaderActorContext.getConfigParams()).setHeartBeatInterval(Duration.ofMillis(200));
         ((DefaultConfigParamsImpl) leaderActorContext.getConfigParams()).setElectionTimeoutFactor(2);
-        leaderActorContext.setReplicatedLog(new MockRaftActorContext.MockReplicatedLogBuilder().build());
+        leaderActorContext.resetReplicatedLog(new MockRaftActorContext.MockReplicatedLogBuilder().build());
 
         leader = new Leader(leaderActorContext);
         leaderActorContext.setCurrentBehavior(leader);
@@ -2212,7 +2212,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         final var leaderLog = new MockRaftActorContext.MockReplicatedLogBuilder().build();
         leaderLog.setCommitIndex(-1);
         leaderLog.setLastApplied(-1);
-        leaderActorContext.setReplicatedLog(leaderLog);
+        leaderActorContext.resetReplicatedLog(leaderLog);
 
         leader = new Leader(leaderActorContext);
         leaderActorContext.setCurrentBehavior(leader);
@@ -2296,7 +2296,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         final var leaderLog = new MockRaftActorContext.MockReplicatedLogBuilder().build();
         leaderLog.setCommitIndex(-1);
         leaderLog.setLastApplied(-1);
-        leaderActorContext.setReplicatedLog(leaderLog);
+        leaderActorContext.resetReplicatedLog(leaderLog);
 
         final long term = leaderActorContext.currentTerm();
         leader = new Leader(leaderActorContext);
@@ -2344,7 +2344,7 @@ public class LeaderTest extends AbstractLeaderTest<Leader> {
         final var leaderLog = new MockRaftActorContext.MockReplicatedLogBuilder().build();
         leaderLog.setCommitIndex(-1);
         leaderLog.setLastApplied(-1);
-        leaderActorContext.setReplicatedLog(leaderLog);
+        leaderActorContext.resetReplicatedLog(leaderLog);
 
         ((DefaultConfigParamsImpl)leaderActorContext.getConfigParams()).setPeerAddressResolver(
             peerId -> leaderActor.path().toString());
index feb090b538327c88e87af157aac5f7645a2bd604..ebdde5106074a54dcb23c8f98455475747a5051d 100644 (file)
@@ -170,7 +170,7 @@ public class PartitionedCandidateOnStartupElectionScenarioTest extends AbstractL
 
         candidateReplicatedLog.setCommitIndex(candidateReplicatedLog.lastIndex());
         candidateReplicatedLog.setLastApplied(candidateReplicatedLog.lastIndex());
-        member3Context.setReplicatedLog(candidateReplicatedLog);
+        member3Context.resetReplicatedLog(candidateReplicatedLog);
         member3Context.setTermInfo(new TermInfo(2, member1Context.getId()));
 
         // The member 3 Candidate will start a new term and send RequestVotes. However it will be
@@ -229,7 +229,7 @@ public class PartitionedCandidateOnStartupElectionScenarioTest extends AbstractL
 
         replicatedLog.setCommitIndex(replicatedLog.lastIndex());
         replicatedLog.setLastApplied(replicatedLog.lastIndex());
-        member2Context.setReplicatedLog(replicatedLog);
+        member2Context.resetReplicatedLog(replicatedLog);
         member2Context.setTermInfo(new TermInfo(3, "member1"));
 
         member2Actor.self().tell(new SetBehavior(new Follower(member2Context), member2Context),
@@ -247,7 +247,7 @@ public class PartitionedCandidateOnStartupElectionScenarioTest extends AbstractL
 
         replicatedLog.setCommitIndex(replicatedLog.lastIndex());
         replicatedLog.setLastApplied(replicatedLog.lastIndex());
-        member1Context.setReplicatedLog(replicatedLog);
+        member1Context.resetReplicatedLog(replicatedLog);
         member1Context.setTermInfo(new TermInfo(3, "member1"));
 
         initializeLeaderBehavior(member1Actor, member1Context, 1);