Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Fix delete snapshots criteria
[controller.git]
/
opendaylight
/
md-sal
/
sal-akka-raft
/
src
/
test
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
raft
/
SnapshotManagerTest.java
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 ef1a92641613c1df24b6316c2ff7bb30f68fdc65..c619917fd4f61dba44d54a6746c256ae23a1d5ef 100644
(file)
--- 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
@@
-22,7
+22,6
@@
import static org.mockito.Mockito.reset;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import akka.actor.ActorRef;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import akka.actor.ActorRef;
-import akka.japi.Procedure;
import akka.persistence.SnapshotSelectionCriteria;
import akka.testkit.TestActorRef;
import java.util.Arrays;
import akka.persistence.SnapshotSelectionCriteria;
import akka.testkit.TestActorRef;
import java.util.Arrays;
@@
-36,6
+35,7
@@
import org.opendaylight.controller.cluster.DataPersistenceProvider;
import org.opendaylight.controller.cluster.raft.SnapshotManager.LastAppliedTermInformationReader;
import org.opendaylight.controller.cluster.raft.base.messages.CaptureSnapshot;
import org.opendaylight.controller.cluster.raft.base.messages.SendInstallSnapshot;
import org.opendaylight.controller.cluster.raft.SnapshotManager.LastAppliedTermInformationReader;
import org.opendaylight.controller.cluster.raft.base.messages.CaptureSnapshot;
import org.opendaylight.controller.cluster.raft.base.messages.SendInstallSnapshot;
+import org.opendaylight.controller.cluster.raft.base.messages.SnapshotComplete;
import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior;
import org.opendaylight.controller.cluster.raft.utils.MessageCollectorActor;
import org.slf4j.LoggerFactory;
import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior;
import org.opendaylight.controller.cluster.raft.utils.MessageCollectorActor;
import org.slf4j.LoggerFactory;
@@
-58,7
+58,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
private RaftActorBehavior mockRaftActorBehavior;
@Mock
private RaftActorBehavior mockRaftActorBehavior;
@Mock
- private
Procedure<Void>
mockProcedure;
+ private
Runnable
mockProcedure;
@Mock
private ElectionTerm mockElectionTerm;
@Mock
private ElectionTerm mockElectionTerm;
@@
-80,6
+80,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
doReturn(mockReplicatedLog).when(mockRaftActorContext).getReplicatedLog();
doReturn("123").when(mockRaftActorContext).getId();
doReturn(mockDataPersistenceProvider).when(mockRaftActorContext).getPersistenceProvider();
doReturn(mockReplicatedLog).when(mockRaftActorContext).getReplicatedLog();
doReturn("123").when(mockRaftActorContext).getId();
doReturn(mockDataPersistenceProvider).when(mockRaftActorContext).getPersistenceProvider();
+ doReturn(mockRaftActorBehavior).when(mockRaftActorContext).getCurrentBehavior();
doReturn("123").when(mockRaftActorBehavior).getLeaderId();
doReturn(mockElectionTerm).when(mockRaftActorContext).getTermInformation();
doReturn("123").when(mockRaftActorBehavior).getLeaderId();
doReturn(mockElectionTerm).when(mockRaftActorContext).getTermInformation();
@@
-92,7
+93,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
actorRef = factory.createTestActor(MessageCollectorActor.props(), factory.generateActorId("test-"));
doReturn(actorRef).when(mockRaftActorContext).getActor();
actorRef = factory.createTestActor(MessageCollectorActor.props(), factory.generateActorId("test-"));
doReturn(actorRef).when(mockRaftActorContext).getActor();
- snapshotManager.setCreateSnapshot
Call
able(mockProcedure);
+ snapshotManager.setCreateSnapshot
Runn
able(mockProcedure);
}
@After
}
@After
@@
-114,7
+115,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
assertEquals(true, snapshotManager.isCapturing());
assertEquals(true, snapshotManager.isCapturing());
- verify(mockProcedure).
apply(null
);
+ verify(mockProcedure).
run(
);
CaptureSnapshot captureSnapshot = snapshotManager.getCaptureSnapshot();
CaptureSnapshot captureSnapshot = snapshotManager.getCaptureSnapshot();
@@
-141,7
+142,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
assertEquals(true, snapshotManager.isCapturing());
assertEquals(true, snapshotManager.isCapturing());
- verify(mockProcedure).
apply(null
);
+ verify(mockProcedure).
run(
);
CaptureSnapshot captureSnapshot = snapshotManager.getCaptureSnapshot();
CaptureSnapshot captureSnapshot = snapshotManager.getCaptureSnapshot();
@@
-169,7
+170,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
assertEquals(true, snapshotManager.isCapturing());
assertEquals(true, snapshotManager.isCapturing());
- verify(mockProcedure).
apply(null
);
+ verify(mockProcedure).
run(
);
CaptureSnapshot captureSnapshot = snapshotManager.getCaptureSnapshot();
CaptureSnapshot captureSnapshot = snapshotManager.getCaptureSnapshot();
@@
-192,7
+193,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
@Test
public void testCaptureWithCreateProcedureError () throws Exception {
@Test
public void testCaptureWithCreateProcedureError () throws Exception {
- doThrow(new
Exception("mock")).when(mockProcedure).apply(null
);
+ doThrow(new
RuntimeException("mock")).when(mockProcedure).run(
);
boolean capture = snapshotManager.capture(new MockRaftActorContext.MockReplicatedLogEntry(1,9,
new MockRaftActorContext.MockPayload()), 9);
boolean capture = snapshotManager.capture(new MockRaftActorContext.MockReplicatedLogEntry(1,9,
new MockRaftActorContext.MockPayload()), 9);
@@
-201,7
+202,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
assertEquals(false, snapshotManager.isCapturing());
assertEquals(false, snapshotManager.isCapturing());
- verify(mockProcedure).
apply(null
);
+ verify(mockProcedure).
run(
);
}
@Test
}
@Test
@@
-211,7
+212,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
assertTrue(capture);
assertTrue(capture);
- verify(mockProcedure).
apply(null
);
+ verify(mockProcedure).
run(
);
reset(mockProcedure);
reset(mockProcedure);
@@
-221,7
+222,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
assertFalse(capture);
assertFalse(capture);
- verify(mockProcedure, never()).
apply(null
);
+ verify(mockProcedure, never()).
run(
);
}
@Test
}
@Test
@@
-246,7
+247,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.capture(lastLogEntry, -1);
byte[] bytes = new byte[] {1,2,3,4,5,6,7,8,9,10};
- snapshotManager.persist(bytes,
mockRaftActorBehavior,
Runtime.getRuntime().totalMemory());
+ snapshotManager.persist(bytes, Runtime.getRuntime().totalMemory());
ArgumentCaptor<Snapshot> snapshotArgumentCaptor = ArgumentCaptor.forClass(Snapshot.class);
verify(mockDataPersistenceProvider).saveSnapshot(snapshotArgumentCaptor.capture());
ArgumentCaptor<Snapshot> snapshotArgumentCaptor = ArgumentCaptor.forClass(Snapshot.class);
verify(mockDataPersistenceProvider).saveSnapshot(snapshotArgumentCaptor.capture());
@@
-279,7
+280,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
new MockRaftActorContext.MockPayload()), 9);
byte[] bytes = new byte[] {1,2,3,4,5,6,7,8,9,10};
new MockRaftActorContext.MockPayload()), 9);
byte[] bytes = new byte[] {1,2,3,4,5,6,7,8,9,10};
- snapshotManager.persist(bytes,
mockRaftActorBehavior,
Runtime.getRuntime().totalMemory());
+ snapshotManager.persist(bytes, Runtime.getRuntime().totalMemory());
ArgumentCaptor<Snapshot> snapshotArgumentCaptor = ArgumentCaptor.forClass(Snapshot.class);
verify(mockDataPersistenceProvider).saveSnapshot(snapshotArgumentCaptor.capture());
ArgumentCaptor<Snapshot> snapshotArgumentCaptor = ArgumentCaptor.forClass(Snapshot.class);
verify(mockDataPersistenceProvider).saveSnapshot(snapshotArgumentCaptor.capture());
@@
-306,7
+307,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
snapshotManager.capture(new MockRaftActorContext.MockReplicatedLogEntry(6,9,
new MockRaftActorContext.MockPayload()), -1);
snapshotManager.capture(new MockRaftActorContext.MockReplicatedLogEntry(6,9,
new MockRaftActorContext.MockPayload()), -1);
- snapshotManager.persist(new byte[]{},
mockRaftActorBehavior,
Runtime.getRuntime().totalMemory());
+ snapshotManager.persist(new byte[]{}, Runtime.getRuntime().totalMemory());
verify(mockDataPersistenceProvider).saveSnapshot(any(Snapshot.class));
verify(mockDataPersistenceProvider).saveSnapshot(any(Snapshot.class));
@@
-332,7
+333,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
snapshotManager.capture(new MockRaftActorContext.MockReplicatedLogEntry(6, 9,
new MockRaftActorContext.MockPayload()), replicatedToAllIndex);
snapshotManager.capture(new MockRaftActorContext.MockReplicatedLogEntry(6, 9,
new MockRaftActorContext.MockPayload()), replicatedToAllIndex);
- snapshotManager.persist(new byte[]{},
mockRaftActorBehavior,
2000000L);
+ snapshotManager.persist(new byte[]{}, 2000000L);
verify(mockDataPersistenceProvider).saveSnapshot(any(Snapshot.class));
verify(mockDataPersistenceProvider).saveSnapshot(any(Snapshot.class));
@@
-353,7
+354,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
byte[] bytes = new byte[] {1,2,3,4,5,6,7,8,9,10};
byte[] bytes = new byte[] {1,2,3,4,5,6,7,8,9,10};
- snapshotManager.persist(bytes,
mockRaftActorBehavior,
Runtime.getRuntime().totalMemory());
+ snapshotManager.persist(bytes, Runtime.getRuntime().totalMemory());
assertEquals(true, snapshotManager.isCapturing());
assertEquals(true, snapshotManager.isCapturing());
@@
-373,7
+374,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
@Test
public void testCallingPersistWithoutCaptureWillDoNothing(){
@Test
public void testCallingPersistWithoutCaptureWillDoNothing(){
- snapshotManager.persist(new byte[]{},
mockRaftActorBehavior,
Runtime.getRuntime().totalMemory());
+ snapshotManager.persist(new byte[]{}, Runtime.getRuntime().totalMemory());
verify(mockDataPersistenceProvider, never()).saveSnapshot(any(Snapshot.class));
verify(mockDataPersistenceProvider, never()).saveSnapshot(any(Snapshot.class));
@@
-389,9
+390,9
@@
public class SnapshotManagerTest extends AbstractActorTest {
snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9,
new MockRaftActorContext.MockPayload()), -1, "follower-1");
snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9,
new MockRaftActorContext.MockPayload()), -1, "follower-1");
- snapshotManager.persist(new byte[]{},
mockRaftActorBehavior,
Runtime.getRuntime().totalMemory());
+ snapshotManager.persist(new byte[]{}, Runtime.getRuntime().totalMemory());
- snapshotManager.persist(new byte[]{},
mockRaftActorBehavior,
Runtime.getRuntime().totalMemory());
+ snapshotManager.persist(new byte[]{}, Runtime.getRuntime().totalMemory());
verify(mockDataPersistenceProvider).saveSnapshot(any(Snapshot.class));
verify(mockDataPersistenceProvider).saveSnapshot(any(Snapshot.class));
@@
-408,11
+409,11
@@
public class SnapshotManagerTest extends AbstractActorTest {
snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9,
new MockRaftActorContext.MockPayload()), -1, "follower-1");
snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9,
new MockRaftActorContext.MockPayload()), -1, "follower-1");
- snapshotManager.persist(new byte[]{},
mockRaftActorBehavior,
Runtime.getRuntime().totalMemory());
+ snapshotManager.persist(new byte[]{}, Runtime.getRuntime().totalMemory());
assertEquals(true, snapshotManager.isCapturing());
assertEquals(true, snapshotManager.isCapturing());
- snapshotManager.commit(100L,
mockRaftActorBehavior
);
+ snapshotManager.commit(100L,
1234L
);
assertEquals(false, snapshotManager.isCapturing());
assertEquals(false, snapshotManager.isCapturing());
@@
-424,9
+425,10
@@
public class SnapshotManagerTest extends AbstractActorTest {
verify(mockDataPersistenceProvider).deleteSnapshots(criteriaCaptor.capture());
verify(mockDataPersistenceProvider).deleteSnapshots(criteriaCaptor.capture());
- assertEquals(90, criteriaCaptor.getValue().maxSequenceNr()); // sequenceNumber = 100
- // config snapShotBatchCount = 10
- // therefore maxSequenceNumber = 90
+ assertEquals(100L, criteriaCaptor.getValue().maxSequenceNr());
+ assertEquals(1233L, criteriaCaptor.getValue().maxTimestamp());
+
+ MessageCollectorActor.expectFirstMatching(actorRef, SnapshotComplete.class);
}
@Test
}
@Test
@@
-435,7
+437,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9,
new MockRaftActorContext.MockPayload()), -1, "follower-1");
snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9,
new MockRaftActorContext.MockPayload()), -1, "follower-1");
- snapshotManager.commit(100L,
mockRaftActorBehavior
);
+ snapshotManager.commit(100L,
0
);
verify(mockReplicatedLog, never()).snapshotCommit();
verify(mockReplicatedLog, never()).snapshotCommit();
@@
-447,7
+449,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
@Test
public void testCommitBeforeCapture(){
@Test
public void testCommitBeforeCapture(){
- snapshotManager.commit(100L,
mockRaftActorBehavior
);
+ snapshotManager.commit(100L,
0
);
verify(mockReplicatedLog, never()).snapshotCommit();
verify(mockReplicatedLog, never()).snapshotCommit();
@@
-465,11
+467,11
@@
public class SnapshotManagerTest extends AbstractActorTest {
snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9,
new MockRaftActorContext.MockPayload()), -1, "follower-1");
snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9,
new MockRaftActorContext.MockPayload()), -1, "follower-1");
- snapshotManager.persist(new byte[]{},
mockRaftActorBehavior,
Runtime.getRuntime().totalMemory());
+ snapshotManager.persist(new byte[]{}, Runtime.getRuntime().totalMemory());
- snapshotManager.commit(100L,
mockRaftActorBehavior
);
+ snapshotManager.commit(100L,
0
);
- snapshotManager.commit(100L,
mockRaftActorBehavior
);
+ snapshotManager.commit(100L,
0
);
verify(mockReplicatedLog, times(1)).snapshotCommit();
verify(mockReplicatedLog, times(1)).snapshotCommit();
@@
-484,11
+486,13
@@
public class SnapshotManagerTest extends AbstractActorTest {
snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9,
new MockRaftActorContext.MockPayload()), -1, "follower-1");
snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9,
new MockRaftActorContext.MockPayload()), -1, "follower-1");
- snapshotManager.persist(new byte[]{},
mockRaftActorBehavior,
Runtime.getRuntime().totalMemory());
+ snapshotManager.persist(new byte[]{}, Runtime.getRuntime().totalMemory());
snapshotManager.rollback();
verify(mockReplicatedLog).snapshotRollback();
snapshotManager.rollback();
verify(mockReplicatedLog).snapshotRollback();
+
+ MessageCollectorActor.expectFirstMatching(actorRef, SnapshotComplete.class);
}
}
@@
-516,7
+520,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9,
new MockRaftActorContext.MockPayload()), -1, "follower-1");
snapshotManager.captureToInstall(new MockRaftActorContext.MockReplicatedLogEntry(6, 9,
new MockRaftActorContext.MockPayload()), -1, "follower-1");
- snapshotManager.persist(new byte[]{},
mockRaftActorBehavior,
Runtime.getRuntime().totalMemory());
+ snapshotManager.persist(new byte[]{}, Runtime.getRuntime().totalMemory());
snapshotManager.rollback();
snapshotManager.rollback();
@@
-534,7
+538,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
doReturn(replicatedLogEntry).when((mockReplicatedLog)).get(10);
doReturn(5L).when(replicatedLogEntry).getTerm();
doReturn(replicatedLogEntry).when((mockReplicatedLog)).get(10);
doReturn(5L).when(replicatedLogEntry).getTerm();
- long retIndex = snapshotManager.trimLog(10
, mockRaftActorBehavior
);
+ long retIndex = snapshotManager.trimLog(10);
assertEquals("return index", 10L, retIndex);
verify(mockReplicatedLog).snapshotPreCommit(10, 5);
assertEquals("return index", 10L, retIndex);
verify(mockReplicatedLog).snapshotPreCommit(10, 5);
@@
-552,7
+556,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
doReturn(replicatedLogEntry).when((mockReplicatedLog)).get(10);
doReturn(5L).when(replicatedLogEntry).getTerm();
doReturn(replicatedLogEntry).when((mockReplicatedLog)).get(10);
doReturn(5L).when(replicatedLogEntry).getTerm();
- long retIndex = snapshotManager.trimLog(10
, mockRaftActorBehavior
);
+ long retIndex = snapshotManager.trimLog(10);
assertEquals("return index", -1L, retIndex);
verify(mockReplicatedLog, never()).snapshotPreCommit(anyLong(), anyLong());
assertEquals("return index", -1L, retIndex);
verify(mockReplicatedLog, never()).snapshotPreCommit(anyLong(), anyLong());
@@
-570,7
+574,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
doReturn(replicatedLogEntry).when((mockReplicatedLog)).get(10);
doReturn(5L).when(replicatedLogEntry).getTerm();
doReturn(replicatedLogEntry).when((mockReplicatedLog)).get(10);
doReturn(5L).when(replicatedLogEntry).getTerm();
- long retIndex = snapshotManager.trimLog(10
, mockRaftActorBehavior
);
+ long retIndex = snapshotManager.trimLog(10);
assertEquals("return index", -1L, retIndex);
verify(mockReplicatedLog, never()).snapshotPreCommit(anyLong(), anyLong());
assertEquals("return index", -1L, retIndex);
verify(mockReplicatedLog, never()).snapshotPreCommit(anyLong(), anyLong());
@@
-585,7
+589,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
doReturn(false).when(mockReplicatedLog).isPresent(10);
doReturn(false).when(mockReplicatedLog).isPresent(10);
- long retIndex = snapshotManager.trimLog(10
, mockRaftActorBehavior
);
+ long retIndex = snapshotManager.trimLog(10);
assertEquals("return index", -1L, retIndex);
verify(mockReplicatedLog, never()).snapshotPreCommit(anyLong(), anyLong());
assertEquals("return index", -1L, retIndex);
verify(mockReplicatedLog, never()).snapshotPreCommit(anyLong(), anyLong());
@@
-610,7
+614,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
doReturn(replicatedLogEntry).when((mockReplicatedLog)).get(10);
doReturn(5L).when(replicatedLogEntry).getTerm();
doReturn(replicatedLogEntry).when((mockReplicatedLog)).get(10);
doReturn(5L).when(replicatedLogEntry).getTerm();
- snapshotManager.trimLog(10
, mockRaftActorBehavior
);
+ snapshotManager.trimLog(10);
verify(mockReplicatedLog, never()).snapshotPreCommit(anyLong(), anyLong());
verify(mockReplicatedLog, never()).snapshotCommit();
verify(mockReplicatedLog, never()).snapshotPreCommit(anyLong(), anyLong());
verify(mockReplicatedLog, never()).snapshotCommit();
@@
-632,7
+636,7
@@
public class SnapshotManagerTest extends AbstractActorTest {
doReturn(replicatedLogEntry).when((mockReplicatedLog)).get(10);
doReturn(5L).when(replicatedLogEntry).getTerm();
doReturn(replicatedLogEntry).when((mockReplicatedLog)).get(10);
doReturn(5L).when(replicatedLogEntry).getTerm();
- snapshotManager.trimLog(10
, mockRaftActorBehavior
);
+ snapshotManager.trimLog(10);
verify(mockReplicatedLog, never()).snapshotPreCommit(10, 5);
verify(mockReplicatedLog, never()).snapshotCommit();
verify(mockReplicatedLog, never()).snapshotPreCommit(10, 5);
verify(mockReplicatedLog, never()).snapshotCommit();