Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Merge "Refactor raft recovery code to a RaftActorRecoverySupport class"
[controller.git]
/
opendaylight
/
md-sal
/
sal-akka-raft
/
src
/
test
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
raft
/
RaftActorTest.java
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 17a81ac3c39aa9c0a27743e1739892629a157ba8..f71cb984b3e414bf879669cc64535e2d3d64c78c 100644
(file)
--- 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
@@
-49,6
+49,7
@@
import java.util.Map;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
+import javax.annotation.Nonnull;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@
-97,9
+98,10
@@
public class RaftActorTest extends AbstractActorTest {
InMemorySnapshotStore.clear();
}
InMemorySnapshotStore.clear();
}
- public static class MockRaftActor extends RaftActor {
+ public static class MockRaftActor extends RaftActor
implements RaftActorRecoveryCohort
{
- private final RaftActor delegate;
+ private final RaftActor actorDelegate;
+ private final RaftActorRecoveryCohort cohortDelegate;
private final CountDownLatch recoveryComplete = new CountDownLatch(1);
private final List<Object> state;
private ActorRef roleChangeNotifier;
private final CountDownLatch recoveryComplete = new CountDownLatch(1);
private final List<Object> state;
private ActorRef roleChangeNotifier;
@@
-136,7
+138,8
@@
public class RaftActorTest extends AbstractActorTest {
DataPersistenceProvider dataPersistenceProvider) {
super(id, peerAddresses, config);
state = new ArrayList<>();
DataPersistenceProvider dataPersistenceProvider) {
super(id, peerAddresses, config);
state = new ArrayList<>();
- this.delegate = mock(RaftActor.class);
+ this.actorDelegate = mock(RaftActor.class);
+ this.cohortDelegate = mock(RaftActorRecoveryCohort.class);
if(dataPersistenceProvider == null){
setPersistence(true);
} else {
if(dataPersistenceProvider == null){
setPersistence(true);
} else {
@@
-197,26
+200,32
@@
public class RaftActorTest extends AbstractActorTest {
@Override protected void applyState(ActorRef clientActor, String identifier, Object data) {
@Override protected void applyState(ActorRef clientActor, String identifier, Object data) {
-
d
elegate.applyState(clientActor, identifier, data);
+
actorD
elegate.applyState(clientActor, identifier, data);
LOG.info("{}: applyState called", persistenceId());
}
@Override
LOG.info("{}: applyState called", persistenceId());
}
@Override
- protected void startLogRecoveryBatch(int maxBatchSize) {
+ @Nonnull
+ protected RaftActorRecoveryCohort getRaftActorRecoveryCohort() {
+ return this;
}
@Override
}
@Override
- protected void appendRecoveredLogEntry(Payload data) {
+ public void startLogRecoveryBatch(int maxBatchSize) {
+ }
+
+ @Override
+ public void appendRecoveredLogEntry(Payload data) {
state.add(data);
}
@Override
state.add(data);
}
@Override
- p
rotected
void applyCurrentLogRecoveryBatch() {
+ p
ublic
void applyCurrentLogRecoveryBatch() {
}
@Override
protected void onRecoveryComplete() {
}
@Override
protected void onRecoveryComplete() {
-
d
elegate.onRecoveryComplete();
+
actorD
elegate.onRecoveryComplete();
recoveryComplete.countDown();
}
recoveryComplete.countDown();
}
@@
-227,8
+236,8
@@
public class RaftActorTest extends AbstractActorTest {
}
@Override
}
@Override
- p
rotected
void applyRecoverySnapshot(byte[] bytes) {
-
d
elegate.applyRecoverySnapshot(bytes);
+ p
ublic
void applyRecoverySnapshot(byte[] bytes) {
+
cohortD
elegate.applyRecoverySnapshot(bytes);
try {
Object data = toObject(bytes);
if (data instanceof List) {
try {
Object data = toObject(bytes);
if (data instanceof List) {
@@
-241,16
+250,16
@@
public class RaftActorTest extends AbstractActorTest {
@Override protected void createSnapshot() {
LOG.info("{}: createSnapshot called", persistenceId());
@Override protected void createSnapshot() {
LOG.info("{}: createSnapshot called", persistenceId());
-
d
elegate.createSnapshot();
+
actorD
elegate.createSnapshot();
}
@Override protected void applySnapshot(byte [] snapshot) {
LOG.info("{}: applySnapshot called", persistenceId());
}
@Override protected void applySnapshot(byte [] snapshot) {
LOG.info("{}: applySnapshot called", persistenceId());
-
d
elegate.applySnapshot(snapshot);
+
actorD
elegate.applySnapshot(snapshot);
}
@Override protected void onStateChanged() {
}
@Override protected void onStateChanged() {
-
d
elegate.onStateChanged();
+
actorD
elegate.onStateChanged();
}
@Override
}
@Override
@@
-516,7
+525,7
@@
public class RaftActorTest extends AbstractActorTest {
mockRaftActor.onReceiveRecover(new SnapshotOffer(new SnapshotMetadata(persistenceId, 100, 100), snapshot));
mockRaftActor.onReceiveRecover(new SnapshotOffer(new SnapshotMetadata(persistenceId, 100, 100), snapshot));
- verify(mockRaftActor.
d
elegate).applyRecoverySnapshot(eq(snapshotBytes.toByteArray()));
+ verify(mockRaftActor.
cohortD
elegate).applyRecoverySnapshot(eq(snapshotBytes.toByteArray()));
mockRaftActor.onReceiveRecover(new ReplicatedLogImplEntry(0, 1, new MockRaftActorContext.MockPayload("A")));
mockRaftActor.onReceiveRecover(new ReplicatedLogImplEntry(0, 1, new MockRaftActorContext.MockPayload("A")));
@@
-583,7
+592,7
@@
public class RaftActorTest extends AbstractActorTest {
mockRaftActor.onReceiveRecover(new SnapshotOffer(new SnapshotMetadata(persistenceId, 100, 100), snapshot));
mockRaftActor.onReceiveRecover(new SnapshotOffer(new SnapshotMetadata(persistenceId, 100, 100), snapshot));
- verify(mockRaftActor.
d
elegate, times(0)).applyRecoverySnapshot(any(byte[].class));
+ verify(mockRaftActor.
cohortD
elegate, times(0)).applyRecoverySnapshot(any(byte[].class));
mockRaftActor.onReceiveRecover(new ReplicatedLogImplEntry(0, 1, new MockRaftActorContext.MockPayload("A")));
mockRaftActor.onReceiveRecover(new ReplicatedLogImplEntry(0, 1, new MockRaftActorContext.MockPayload("A")));
@@
-810,7
+819,7
@@
public class RaftActorTest extends AbstractActorTest {
mockRaftActor.getRaftActorContext().getSnapshotManager().capture(lastEntry, replicatedToAllIndex);
mockRaftActor.getRaftActorContext().getSnapshotManager().capture(lastEntry, replicatedToAllIndex);
- verify(mockRaftActor.
d
elegate).createSnapshot();
+ verify(mockRaftActor.
actorD
elegate).createSnapshot();
mockRaftActor.onReceiveCommand(new CaptureSnapshotReply(snapshotBytes.toByteArray()));
mockRaftActor.onReceiveCommand(new CaptureSnapshotReply(snapshotBytes.toByteArray()));
@@
-860,7
+869,7
@@
public class RaftActorTest extends AbstractActorTest {
mockRaftActor.onReceiveCommand(new ApplyState(mockActorRef, "apply-state", entry));
mockRaftActor.onReceiveCommand(new ApplyState(mockActorRef, "apply-state", entry));
- verify(mockRaftActor.
d
elegate).applyState(eq(mockActorRef), eq("apply-state"), anyObject());
+ verify(mockRaftActor.
actorD
elegate).applyState(eq(mockActorRef), eq("apply-state"), anyObject());
}
};
}
};
@@
-907,7
+916,7
@@
public class RaftActorTest extends AbstractActorTest {
mockRaftActor.onReceiveCommand(new ApplySnapshot(snapshot));
mockRaftActor.onReceiveCommand(new ApplySnapshot(snapshot));
- verify(mockRaftActor.
d
elegate).applySnapshot(eq(snapshot.getState()));
+ verify(mockRaftActor.
actorD
elegate).applySnapshot(eq(snapshot.getState()));
assertTrue("The replicatedLog should have changed",
oldReplicatedLog != mockRaftActor.getReplicatedLog());
assertTrue("The replicatedLog should have changed",
oldReplicatedLog != mockRaftActor.getReplicatedLog());
@@
-1131,7
+1140,7
@@
public class RaftActorTest extends AbstractActorTest {
.capture(new MockRaftActorContext.MockReplicatedLogEntry(1, 6,
new MockRaftActorContext.MockPayload("x")), 4);
.capture(new MockRaftActorContext.MockReplicatedLogEntry(1, 6,
new MockRaftActorContext.MockPayload("x")), 4);
- verify(leaderActor.
d
elegate).createSnapshot();
+ verify(leaderActor.
actorD
elegate).createSnapshot();
assertEquals(8, leaderActor.getReplicatedLog().size());
assertEquals(8, leaderActor.getReplicatedLog().size());
@@
-1230,7
+1239,7
@@
public class RaftActorTest extends AbstractActorTest {
new MockRaftActorContext.MockReplicatedLogEntry(1, 5,
new MockRaftActorContext.MockPayload("D")), 4);
new MockRaftActorContext.MockReplicatedLogEntry(1, 5,
new MockRaftActorContext.MockPayload("D")), 4);
- verify(followerActor.
d
elegate).createSnapshot();
+ verify(followerActor.
actorD
elegate).createSnapshot();
assertEquals(6, followerActor.getReplicatedLog().size());
assertEquals(6, followerActor.getReplicatedLog().size());