From 8b1459a3d8ee7fe0c7d005badf4435a7e9ea7bf7 Mon Sep 17 00:00:00 2001 From: Tom Pantelis Date: Fri, 10 Apr 2015 20:05:23 -0400 Subject: [PATCH] Cleanup: Remove passing around of DataPersistenceProvider Now that the DataPersistenceProvider instance is store in the RaftActorContext, we no longer need to pass it to various other classes methods that have access to the RaftActorContext instance. Change-Id: Iccbfac82819451e28432e15f5eb970fded4b181e Signed-off-by: Tom Pantelis --- .../controller/cluster/raft/RaftActor.java | 9 ++-- .../raft/RaftActorRecoverySupport.java | 11 ++--- .../raft/RaftActorSnapshotMessageSupport.java | 16 +++---- .../cluster/raft/ReplicatedLogImpl.java | 18 +++----- .../cluster/raft/SnapshotManager.java | 26 +++++------ .../cluster/raft/SnapshotState.java | 8 +--- .../raft/RaftActorRecoverySupportTest.java | 4 +- .../RaftActorSnapshotMessageSupportTest.java | 10 ++--- .../cluster/raft/RaftActorTest.java | 8 ++-- .../cluster/raft/ReplicatedLogImplTest.java | 8 ++-- .../cluster/raft/SnapshotManagerTest.java | 43 +++++++------------ 11 files changed, 65 insertions(+), 96 deletions(-) diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActor.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActor.java index 4a2ab9936f..4485f3b144 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActor.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActor.java @@ -127,7 +127,7 @@ public abstract class RaftActor extends AbstractUntypedPersistentActor { (configParams.isPresent() ? configParams.get(): new DefaultConfigParamsImpl()), delegatingPersistenceProvider, LOG); - context.setReplicatedLog(ReplicatedLogImpl.newInstance(context, delegatingPersistenceProvider, currentBehavior)); + context.setReplicatedLog(ReplicatedLogImpl.newInstance(context, currentBehavior)); } @Override @@ -179,8 +179,7 @@ public abstract class RaftActor extends AbstractUntypedPersistentActor { } protected RaftActorRecoverySupport newRaftActorRecoverySupport() { - return new RaftActorRecoverySupport(delegatingPersistenceProvider, context, currentBehavior, - getRaftActorRecoveryCohort()); + return new RaftActorRecoverySupport(context, currentBehavior, getRaftActorRecoveryCohort()); } protected void initializeBehavior(){ @@ -238,8 +237,8 @@ public abstract class RaftActor extends AbstractUntypedPersistentActor { } protected RaftActorSnapshotMessageSupport newRaftActorSnapshotMessageSupport() { - return new RaftActorSnapshotMessageSupport(delegatingPersistenceProvider, context, - currentBehavior, getRaftActorSnapshotCohort()); + return new RaftActorSnapshotMessageSupport(context, currentBehavior, + getRaftActorSnapshotCohort()); } private void onGetOnDemandRaftStats() { diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorRecoverySupport.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorRecoverySupport.java index 57603a5058..ccc1b909a9 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorRecoverySupport.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorRecoverySupport.java @@ -10,7 +10,6 @@ package org.opendaylight.controller.cluster.raft; import akka.persistence.RecoveryCompleted; import akka.persistence.SnapshotOffer; import com.google.common.base.Stopwatch; -import org.opendaylight.controller.cluster.DataPersistenceProvider; import org.opendaylight.controller.cluster.raft.RaftActor.UpdateElectionTerm; import org.opendaylight.controller.cluster.raft.base.messages.ApplyJournalEntries; import org.opendaylight.controller.cluster.raft.base.messages.ApplyLogEntries; @@ -24,7 +23,6 @@ import org.slf4j.Logger; * @author Thomas Pantelis */ class RaftActorRecoverySupport { - private final DataPersistenceProvider persistence; private final RaftActorContext context; private final RaftActorBehavior currentBehavior; private final RaftActorRecoveryCohort cohort; @@ -34,9 +32,8 @@ class RaftActorRecoverySupport { private Stopwatch recoveryTimer; private final Logger log; - RaftActorRecoverySupport(DataPersistenceProvider persistence, RaftActorContext context, - RaftActorBehavior currentBehavior, RaftActorRecoveryCohort cohort) { - this.persistence = persistence; + RaftActorRecoverySupport(RaftActorContext context, RaftActorBehavior currentBehavior, + RaftActorRecoveryCohort cohort) { this.context = context; this.currentBehavior = currentBehavior; this.cohort = cohort; @@ -45,7 +42,7 @@ class RaftActorRecoverySupport { boolean handleRecoveryMessage(Object message) { boolean recoveryComplete = false; - if(persistence.isRecoveryApplicable()) { + if(context.getPersistenceProvider().isRecoveryApplicable()) { if (message instanceof SnapshotOffer) { onRecoveredSnapshot((SnapshotOffer) message); } else if (message instanceof ReplicatedLogEntry) { @@ -97,7 +94,7 @@ class RaftActorRecoverySupport { // The replicated log can be used later on to retrieve this snapshot // when we need to install it on a peer - context.setReplicatedLog(ReplicatedLogImpl.newInstance(snapshot, context, persistence, currentBehavior)); + context.setReplicatedLog(ReplicatedLogImpl.newInstance(snapshot, context, currentBehavior)); context.setLastApplied(snapshot.getLastAppliedIndex()); context.setCommitIndex(snapshot.getLastAppliedIndex()); diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorSnapshotMessageSupport.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorSnapshotMessageSupport.java index 6860b791d3..cab76e90ce 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorSnapshotMessageSupport.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorSnapshotMessageSupport.java @@ -10,7 +10,6 @@ package org.opendaylight.controller.cluster.raft; import akka.japi.Procedure; import akka.persistence.SaveSnapshotFailure; import akka.persistence.SaveSnapshotSuccess; -import org.opendaylight.controller.cluster.DataPersistenceProvider; import org.opendaylight.controller.cluster.raft.base.messages.ApplySnapshot; import org.opendaylight.controller.cluster.raft.base.messages.CaptureSnapshotReply; import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior; @@ -24,7 +23,6 @@ import org.slf4j.Logger; class RaftActorSnapshotMessageSupport { static final String COMMIT_SNAPSHOT = "commit_snapshot"; - private final DataPersistenceProvider persistence; private final RaftActorContext context; private final RaftActorBehavior currentBehavior; private final RaftActorSnapshotCohort cohort; @@ -37,9 +35,8 @@ class RaftActorSnapshotMessageSupport { } }; - RaftActorSnapshotMessageSupport(DataPersistenceProvider persistence, RaftActorContext context, - RaftActorBehavior currentBehavior, RaftActorSnapshotCohort cohort) { - this.persistence = persistence; + RaftActorSnapshotMessageSupport(RaftActorContext context, RaftActorBehavior currentBehavior, + RaftActorSnapshotCohort cohort) { this.context = context; this.currentBehavior = currentBehavior; this.cohort = cohort; @@ -62,7 +59,7 @@ class RaftActorSnapshotMessageSupport { onCaptureSnapshotReply(((CaptureSnapshotReply) message).getSnapshot()); return true; } else if (message.equals(COMMIT_SNAPSHOT)) { - context.getSnapshotManager().commit(persistence, -1); + context.getSnapshotManager().commit(-1); return true; } else { return false; @@ -72,7 +69,7 @@ class RaftActorSnapshotMessageSupport { private void onCaptureSnapshotReply(byte[] snapshotBytes) { log.debug("{}: CaptureSnapshotReply received by actor: snapshot size {}", context.getId(), snapshotBytes.length); - context.getSnapshotManager().persist(persistence, snapshotBytes, currentBehavior, context.getTotalMemory()); + context.getSnapshotManager().persist(snapshotBytes, currentBehavior, context.getTotalMemory()); } private void onSaveSnapshotFailure(SaveSnapshotFailure saveSnapshotFailure) { @@ -87,7 +84,7 @@ class RaftActorSnapshotMessageSupport { long sequenceNumber = success.metadata().sequenceNr(); - context.getSnapshotManager().commit(persistence, sequenceNumber); + context.getSnapshotManager().commit(sequenceNumber); } private void onApplySnapshot(Snapshot snapshot) { @@ -100,8 +97,7 @@ class RaftActorSnapshotMessageSupport { cohort.applySnapshot(snapshot.getState()); //clears the followers log, sets the snapshot index to ensure adjusted-index works - context.setReplicatedLog(ReplicatedLogImpl.newInstance(snapshot, context, persistence, - currentBehavior)); + context.setReplicatedLog(ReplicatedLogImpl.newInstance(snapshot, context, currentBehavior)); context.setLastApplied(snapshot.getLastAppliedIndex()); } } diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImpl.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImpl.java index 1cfe153869..c32839c490 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImpl.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImpl.java @@ -10,7 +10,6 @@ package org.opendaylight.controller.cluster.raft; import akka.japi.Procedure; import java.util.Collections; import java.util.List; -import org.opendaylight.controller.cluster.DataPersistenceProvider; import org.opendaylight.controller.cluster.raft.base.messages.DeleteEntries; import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior; @@ -22,7 +21,6 @@ class ReplicatedLogImpl extends AbstractReplicatedLogImpl { private long dataSizeSinceLastSnapshot = 0L; private final RaftActorContext context; - private final DataPersistenceProvider persistence; private final RaftActorBehavior currentBehavior; private final Procedure deleteProcedure = new Procedure() { @@ -32,22 +30,20 @@ class ReplicatedLogImpl extends AbstractReplicatedLogImpl { }; static ReplicatedLog newInstance(Snapshot snapshot, RaftActorContext context, - DataPersistenceProvider persistence, RaftActorBehavior currentBehavior) { + RaftActorBehavior currentBehavior) { return new ReplicatedLogImpl(snapshot.getLastAppliedIndex(), snapshot.getLastAppliedTerm(), - snapshot.getUnAppliedEntries(), context, persistence, currentBehavior); + snapshot.getUnAppliedEntries(), context, currentBehavior); } - static ReplicatedLog newInstance(RaftActorContext context, - DataPersistenceProvider persistence, RaftActorBehavior currentBehavior) { + static ReplicatedLog newInstance(RaftActorContext context, RaftActorBehavior currentBehavior) { return new ReplicatedLogImpl(-1L, -1L, Collections.emptyList(), context, - persistence, currentBehavior); + currentBehavior); } private ReplicatedLogImpl(long snapshotIndex, long snapshotTerm, List unAppliedEntries, - RaftActorContext context, DataPersistenceProvider persistence, RaftActorBehavior currentBehavior) { + RaftActorContext context, RaftActorBehavior currentBehavior) { super(snapshotIndex, snapshotTerm, unAppliedEntries); this.context = context; - this.persistence = persistence; this.currentBehavior = currentBehavior; } @@ -56,7 +52,7 @@ class ReplicatedLogImpl extends AbstractReplicatedLogImpl { // FIXME: Maybe this should be done after the command is saved long adjustedIndex = removeFrom(logEntryIndex); if(adjustedIndex >= 0) { - persistence.persist(new DeleteEntries(adjustedIndex), deleteProcedure); + context.getPersistenceProvider().persist(new DeleteEntries(adjustedIndex), deleteProcedure); } } @@ -81,7 +77,7 @@ class ReplicatedLogImpl extends AbstractReplicatedLogImpl { // persist call and the execution(s) of the associated event // handler. This also holds for multiple persist calls in context // of a single command. - persistence.persist(replicatedLogEntry, + context.getPersistenceProvider().persist(replicatedLogEntry, new Procedure() { @Override public void apply(ReplicatedLogEntry evt) throws Exception { diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/SnapshotManager.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/SnapshotManager.java index 5b0ebcddee..847954816c 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/SnapshotManager.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/SnapshotManager.java @@ -13,7 +13,6 @@ import akka.persistence.SnapshotSelectionCriteria; import com.google.common.annotations.VisibleForTesting; import com.google.protobuf.ByteString; import java.util.List; -import org.opendaylight.controller.cluster.DataPersistenceProvider; import org.opendaylight.controller.cluster.raft.base.messages.CaptureSnapshot; import org.opendaylight.controller.cluster.raft.base.messages.SendInstallSnapshot; import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior; @@ -60,14 +59,13 @@ public class SnapshotManager implements SnapshotState { } @Override - public void persist(DataPersistenceProvider persistenceProvider, byte[] snapshotBytes, - RaftActorBehavior currentBehavior, long totalMemory) { - currentState.persist(persistenceProvider, snapshotBytes, currentBehavior, totalMemory); + public void persist(byte[] snapshotBytes, RaftActorBehavior currentBehavior, long totalMemory) { + currentState.persist(snapshotBytes, currentBehavior, totalMemory); } @Override - public void commit(DataPersistenceProvider persistenceProvider, long sequenceNumber) { - currentState.commit(persistenceProvider, sequenceNumber); + public void commit(long sequenceNumber) { + currentState.commit(sequenceNumber); } @Override @@ -117,13 +115,12 @@ public class SnapshotManager implements SnapshotState { } @Override - public void persist(DataPersistenceProvider persistenceProvider, byte[] snapshotBytes, - RaftActorBehavior currentBehavior, long totalMemory) { + public void persist(byte[] snapshotBytes, RaftActorBehavior currentBehavior, long totalMemory) { LOG.debug("persist should not be called in state {}", this); } @Override - public void commit(DataPersistenceProvider persistenceProvider, long sequenceNumber) { + public void commit(long sequenceNumber) { LOG.debug("commit should not be called in state {}", this); } @@ -244,8 +241,7 @@ public class SnapshotManager implements SnapshotState { } @Override - public void persist(DataPersistenceProvider persistenceProvider, byte[] snapshotBytes, - RaftActorBehavior currentBehavior, long totalMemory) { + public void persist(byte[] snapshotBytes, RaftActorBehavior currentBehavior, long totalMemory) { // create a snapshot object from the state provided and save it // when snapshot is saved async, SaveSnapshotSuccess is raised. @@ -254,7 +250,7 @@ public class SnapshotManager implements SnapshotState { captureSnapshot.getLastIndex(), captureSnapshot.getLastTerm(), captureSnapshot.getLastAppliedIndex(), captureSnapshot.getLastAppliedTerm()); - persistenceProvider.saveSnapshot(sn); + context.getPersistenceProvider().saveSnapshot(sn); LOG.info("{}: Persisting of snapshot done:{}", persistenceId(), sn.getLogMessage()); @@ -320,12 +316,12 @@ public class SnapshotManager implements SnapshotState { private class Persisting extends AbstractSnapshotState { @Override - public void commit(DataPersistenceProvider persistenceProvider, long sequenceNumber) { + public void commit(long sequenceNumber) { context.getReplicatedLog().snapshotCommit(); - persistenceProvider.deleteSnapshots(new SnapshotSelectionCriteria( + context.getPersistenceProvider().deleteSnapshots(new SnapshotSelectionCriteria( sequenceNumber - context.getConfigParams().getSnapshotBatchCount(), 43200000)); - persistenceProvider.deleteMessages(lastSequenceNumber); + context.getPersistenceProvider().deleteMessages(lastSequenceNumber); lastSequenceNumber = -1; SnapshotManager.this.currentState = IDLE; diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/SnapshotState.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/SnapshotState.java index b0cbf4b00f..9949211c63 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/SnapshotState.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/SnapshotState.java @@ -8,7 +8,6 @@ package org.opendaylight.controller.cluster.raft; -import org.opendaylight.controller.cluster.DataPersistenceProvider; import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior; public interface SnapshotState { @@ -42,21 +41,18 @@ public interface SnapshotState { /** * Persist the snapshot * - * @param persistenceProvider * @param snapshotBytes * @param currentBehavior * @param totalMemory */ - void persist(DataPersistenceProvider persistenceProvider, byte[] snapshotBytes, RaftActorBehavior currentBehavior - ,long totalMemory); + void persist(byte[] snapshotBytes, RaftActorBehavior currentBehavior, long totalMemory); /** * Commit the snapshot by trimming the log * - * @param persistenceProvider * @param sequenceNumber */ - void commit(DataPersistenceProvider persistenceProvider, long sequenceNumber); + void commit(long sequenceNumber); /** * Rollback the snapshot diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorRecoverySupportTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorRecoverySupportTest.java index c4e0ef8f5f..71ebbb4e6a 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorRecoverySupportTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorRecoverySupportTest.java @@ -62,11 +62,11 @@ public class RaftActorRecoverySupportTest { context = new RaftActorContextImpl(null, null, "test", new ElectionTermImpl(mockPersistence, "test", LOG), -1, -1, Collections.emptyMap(), configParams, mockPersistence, LOG); - support = new RaftActorRecoverySupport(mockPersistence, context , mockBehavior, mockCohort); + support = new RaftActorRecoverySupport(context, mockBehavior , mockCohort); doReturn(true).when(mockPersistence).isRecoveryApplicable(); - context.setReplicatedLog(ReplicatedLogImpl.newInstance(context, mockPersistence, mockBehavior)); + context.setReplicatedLog(ReplicatedLogImpl.newInstance(context, mockBehavior)); } private void sendMessageToSupport(Object message) { diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorSnapshotMessageSupportTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorSnapshotMessageSupportTest.java index 943f653641..7509aa09a2 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorSnapshotMessageSupportTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorSnapshotMessageSupportTest.java @@ -73,11 +73,11 @@ public class RaftActorSnapshotMessageSupportTest { } }; - support = new RaftActorSnapshotMessageSupport(mockPersistence, context, mockBehavior, mockCohort); + support = new RaftActorSnapshotMessageSupport(context, mockBehavior, mockCohort); doReturn(true).when(mockPersistence).isRecoveryApplicable(); - context.setReplicatedLog(ReplicatedLogImpl.newInstance(context, mockPersistence, mockBehavior)); + context.setReplicatedLog(ReplicatedLogImpl.newInstance(context, mockBehavior)); } private void sendMessageToSupport(Object message) { @@ -123,7 +123,7 @@ public class RaftActorSnapshotMessageSupportTest { byte[] snapshot = {1,2,3,4,5}; sendMessageToSupport(new CaptureSnapshotReply(snapshot)); - verify(mockSnapshotManager).persist(same(mockPersistence), same(snapshot), same(mockBehavior), anyLong()); + verify(mockSnapshotManager).persist(same(snapshot), same(mockBehavior), anyLong()); } @Test @@ -132,7 +132,7 @@ public class RaftActorSnapshotMessageSupportTest { long sequenceNumber = 100; sendMessageToSupport(new SaveSnapshotSuccess(new SnapshotMetadata("foo", sequenceNumber, 1234L))); - verify(mockSnapshotManager).commit(mockPersistence, sequenceNumber); + verify(mockSnapshotManager).commit(sequenceNumber); } @Test @@ -149,7 +149,7 @@ public class RaftActorSnapshotMessageSupportTest { sendMessageToSupport(RaftActorSnapshotMessageSupport.COMMIT_SNAPSHOT); - verify(mockSnapshotManager).commit(mockPersistence, -1); + verify(mockSnapshotManager).commit(-1); } @Test diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java index 82ebcd1fbd..37e7d35d43 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java @@ -561,13 +561,13 @@ public class RaftActorTest extends AbstractActorTest { new MockRaftActorContext.MockPayload("foo-3"), new MockRaftActorContext.MockPayload("foo-4"))); - leaderActor.getRaftActorContext().getSnapshotManager().persist(new NonPersistentDataProvider() - , snapshotBytes.toByteArray(), leader, Runtime.getRuntime().totalMemory()); + leaderActor.getRaftActorContext().getSnapshotManager().persist(snapshotBytes.toByteArray(), + leader, Runtime.getRuntime().totalMemory()); assertFalse(leaderActor.getRaftActorContext().getSnapshotManager().isCapturing()); // The commit is needed to complete the snapshot creation process - leaderActor.getRaftActorContext().getSnapshotManager().commit(new NonPersistentDataProvider(), -1); + leaderActor.getRaftActorContext().getSnapshotManager().commit(-1); // capture snapshot reply should remove the snapshotted entries only assertEquals(3, leaderActor.getReplicatedLog().size()); @@ -671,7 +671,7 @@ public class RaftActorTest extends AbstractActorTest { assertFalse(followerActor.getRaftActorContext().getSnapshotManager().isCapturing()); // The commit is needed to complete the snapshot creation process - followerActor.getRaftActorContext().getSnapshotManager().commit(new NonPersistentDataProvider(), -1); + followerActor.getRaftActorContext().getSnapshotManager().commit(-1); // capture snapshot reply should remove the snapshotted entries only till replicatedToAllIndex assertEquals(3, followerActor.getReplicatedLog().size()); //indexes 5,6,7 left in the log diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImplTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImplTest.java index 92e384e19a..fbe6fc4501 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImplTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/ReplicatedLogImplTest.java @@ -85,7 +85,7 @@ public class ReplicatedLogImplTest { @SuppressWarnings("unchecked") @Test public void testAppendAndPersistExpectingNoCapture() throws Exception { - ReplicatedLog log = ReplicatedLogImpl.newInstance(context, mockPersistence, mockBehavior); + ReplicatedLog log = ReplicatedLogImpl.newInstance(context, mockBehavior); MockReplicatedLogEntry logEntry = new MockReplicatedLogEntry(1, 1, new MockPayload("1")); @@ -114,7 +114,7 @@ public class ReplicatedLogImplTest { doReturn(1L).when(mockBehavior).getReplicatedToAllIndex(); - ReplicatedLog log = ReplicatedLogImpl.newInstance(context, mockPersistence, mockBehavior); + ReplicatedLog log = ReplicatedLogImpl.newInstance(context, mockBehavior); MockReplicatedLogEntry logEntry1 = new MockReplicatedLogEntry(1, 2, new MockPayload("2")); MockReplicatedLogEntry logEntry2 = new MockReplicatedLogEntry(1, 3, new MockPayload("3")); @@ -144,7 +144,7 @@ public class ReplicatedLogImplTest { } }); - ReplicatedLog log = ReplicatedLogImpl.newInstance(context, mockPersistence, mockBehavior); + ReplicatedLog log = ReplicatedLogImpl.newInstance(context, mockBehavior); int dataSize = 600; MockReplicatedLogEntry logEntry = new MockReplicatedLogEntry(1, 2, new MockPayload("2", dataSize)); @@ -171,7 +171,7 @@ public class ReplicatedLogImplTest { @Test public void testRemoveFromAndPersist() throws Exception { - ReplicatedLog log = ReplicatedLogImpl.newInstance(context, mockPersistence, mockBehavior); + ReplicatedLog log = ReplicatedLogImpl.newInstance(context, mockBehavior); log.append(new MockReplicatedLogEntry(1, 0, new MockPayload("0"))); log.append(new MockReplicatedLogEntry(1, 1, new MockPayload("1"))); diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/SnapshotManagerTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/SnapshotManagerTest.java index 47720d95b6..89aadbe0ae 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/SnapshotManagerTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/SnapshotManagerTest.java @@ -207,8 +207,7 @@ public class SnapshotManagerTest extends AbstractActorTest { snapshotManager.capture(lastLogEntry, -1); byte[] bytes = new byte[] {1,2,3,4,5,6,7,8,9,10}; - snapshotManager.persist(mockDataPersistenceProvider, bytes, mockRaftActorBehavior - , Runtime.getRuntime().totalMemory()); + snapshotManager.persist(bytes, mockRaftActorBehavior, Runtime.getRuntime().totalMemory()); ArgumentCaptor snapshotArgumentCaptor = ArgumentCaptor.forClass(Snapshot.class); verify(mockDataPersistenceProvider).saveSnapshot(snapshotArgumentCaptor.capture()); @@ -239,8 +238,7 @@ public class SnapshotManagerTest extends AbstractActorTest { new MockRaftActorContext.MockPayload()), 9); byte[] bytes = new byte[] {1,2,3,4,5,6,7,8,9,10}; - snapshotManager.persist(mockDataPersistenceProvider, bytes, mockRaftActorBehavior - , Runtime.getRuntime().totalMemory()); + snapshotManager.persist(bytes, mockRaftActorBehavior, Runtime.getRuntime().totalMemory()); ArgumentCaptor snapshotArgumentCaptor = ArgumentCaptor.forClass(Snapshot.class); verify(mockDataPersistenceProvider).saveSnapshot(snapshotArgumentCaptor.capture()); @@ -268,8 +266,7 @@ public class SnapshotManagerTest extends AbstractActorTest { snapshotManager.capture(new MockRaftActorContext.MockReplicatedLogEntry(6,9, new MockRaftActorContext.MockPayload()), -1); - snapshotManager.persist(mockDataPersistenceProvider, new byte[]{}, mockRaftActorBehavior - , Runtime.getRuntime().totalMemory()); + snapshotManager.persist(new byte[]{}, mockRaftActorBehavior, Runtime.getRuntime().totalMemory()); verify(mockDataPersistenceProvider).saveSnapshot(any(Snapshot.class)); @@ -288,8 +285,7 @@ public class SnapshotManagerTest extends AbstractActorTest { byte[] bytes = new byte[] {1,2,3,4,5,6,7,8,9,10}; - snapshotManager.persist(mockDataPersistenceProvider, bytes, mockRaftActorBehavior - , Runtime.getRuntime().totalMemory()); + snapshotManager.persist(bytes, mockRaftActorBehavior, Runtime.getRuntime().totalMemory()); verify(mockDataPersistenceProvider).saveSnapshot(any(Snapshot.class)); @@ -307,8 +303,7 @@ public class SnapshotManagerTest extends AbstractActorTest { @Test public void testCallingPersistWithoutCaptureWillDoNothing(){ - snapshotManager.persist(mockDataPersistenceProvider, new byte[]{}, mockRaftActorBehavior - , Runtime.getRuntime().totalMemory()); + snapshotManager.persist(new byte[]{}, mockRaftActorBehavior, Runtime.getRuntime().totalMemory()); verify(mockDataPersistenceProvider, never()).saveSnapshot(any(Snapshot.class)); @@ -324,11 +319,9 @@ public class SnapshotManagerTest extends AbstractActorTest { snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9, new MockRaftActorContext.MockPayload()), -1, "follower-1"); - snapshotManager.persist(mockDataPersistenceProvider, new byte[]{}, mockRaftActorBehavior - , Runtime.getRuntime().totalMemory()); + snapshotManager.persist(new byte[]{}, mockRaftActorBehavior, Runtime.getRuntime().totalMemory()); - snapshotManager.persist(mockDataPersistenceProvider, new byte[]{}, mockRaftActorBehavior - , Runtime.getRuntime().totalMemory()); + snapshotManager.persist(new byte[]{}, mockRaftActorBehavior, Runtime.getRuntime().totalMemory()); verify(mockDataPersistenceProvider).saveSnapshot(any(Snapshot.class)); @@ -345,10 +338,9 @@ public class SnapshotManagerTest extends AbstractActorTest { snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9, new MockRaftActorContext.MockPayload()), -1, "follower-1"); - snapshotManager.persist(mockDataPersistenceProvider, new byte[]{}, mockRaftActorBehavior - , Runtime.getRuntime().totalMemory()); + snapshotManager.persist(new byte[]{}, mockRaftActorBehavior, Runtime.getRuntime().totalMemory()); - snapshotManager.commit(mockDataPersistenceProvider, 100L); + snapshotManager.commit(100L); verify(mockReplicatedLog).snapshotCommit(); @@ -369,7 +361,7 @@ public class SnapshotManagerTest extends AbstractActorTest { snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9, new MockRaftActorContext.MockPayload()), -1, "follower-1"); - snapshotManager.commit(mockDataPersistenceProvider, 100L); + snapshotManager.commit(100L); verify(mockReplicatedLog, never()).snapshotCommit(); @@ -381,7 +373,7 @@ public class SnapshotManagerTest extends AbstractActorTest { @Test public void testCommitBeforeCapture(){ - snapshotManager.commit(mockDataPersistenceProvider, 100L); + snapshotManager.commit(100L); verify(mockReplicatedLog, never()).snapshotCommit(); @@ -399,12 +391,11 @@ public class SnapshotManagerTest extends AbstractActorTest { snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9, new MockRaftActorContext.MockPayload()), -1, "follower-1"); - snapshotManager.persist(mockDataPersistenceProvider, new byte[]{}, mockRaftActorBehavior - , Runtime.getRuntime().totalMemory()); + snapshotManager.persist(new byte[]{}, mockRaftActorBehavior, Runtime.getRuntime().totalMemory()); - snapshotManager.commit(mockDataPersistenceProvider, 100L); + snapshotManager.commit(100L); - snapshotManager.commit(mockDataPersistenceProvider, 100L); + snapshotManager.commit(100L); verify(mockReplicatedLog, times(1)).snapshotCommit(); @@ -419,8 +410,7 @@ public class SnapshotManagerTest extends AbstractActorTest { snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9, new MockRaftActorContext.MockPayload()), -1, "follower-1"); - snapshotManager.persist(mockDataPersistenceProvider, new byte[]{}, mockRaftActorBehavior - , Runtime.getRuntime().totalMemory()); + snapshotManager.persist(new byte[]{}, mockRaftActorBehavior, Runtime.getRuntime().totalMemory()); snapshotManager.rollback(); @@ -452,8 +442,7 @@ public class SnapshotManagerTest extends AbstractActorTest { snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9, new MockRaftActorContext.MockPayload()), -1, "follower-1"); - snapshotManager.persist(mockDataPersistenceProvider, new byte[]{}, mockRaftActorBehavior - , Runtime.getRuntime().totalMemory()); + snapshotManager.persist(new byte[]{}, mockRaftActorBehavior, Runtime.getRuntime().totalMemory()); snapshotManager.rollback(); -- 2.36.6