Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
BUG-9028: make NonPersistentDataProvider schedule invocation
[controller.git]
/
opendaylight
/
md-sal
/
sal-akka-raft
/
src
/
test
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
raft
/
MockRaftActorContext.java
diff --git
a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MockRaftActorContext.java
b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MockRaftActorContext.java
index d92f0729f207c077f7b38a1427d62a535e49cd0f..2e05a7e5708b49381082353518b81cd299521f4f 100644
(file)
--- a/
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MockRaftActorContext.java
+++ b/
opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/MockRaftActorContext.java
@@
-13,13
+13,15
@@
import akka.actor.ActorSelection;
import akka.actor.ActorSystem;
import akka.actor.Props;
import akka.japi.Procedure;
import akka.actor.ActorSystem;
import akka.actor.Props;
import akka.japi.Procedure;
-import com.google.common.base.Throwables;
import com.google.common.io.ByteSource;
import java.io.IOException;
import java.io.OutputStream;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import com.google.common.io.ByteSource;
import java.io.IOException;
import java.io.OutputStream;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
+import java.util.Optional;
+import java.util.function.Consumer;
+import org.opendaylight.controller.cluster.DataPersistenceProvider;
import org.opendaylight.controller.cluster.NonPersistentDataProvider;
import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior;
import org.opendaylight.controller.cluster.raft.persisted.ByteState;
import org.opendaylight.controller.cluster.NonPersistentDataProvider;
import org.opendaylight.controller.cluster.raft.behaviors.RaftActorBehavior;
import org.opendaylight.controller.cluster.raft.persisted.ByteState;
@@
-35,6
+37,7
@@
public class MockRaftActorContext extends RaftActorContextImpl {
private ActorSystem system;
private RaftPolicy raftPolicy;
private ActorSystem system;
private RaftPolicy raftPolicy;
+ private Consumer<Optional<OutputStream>> createSnapshotProcedure = out -> { };
private static ElectionTerm newElectionTerm() {
return new ElectionTerm() {
private static ElectionTerm newElectionTerm() {
return new ElectionTerm() {
@@
-52,29
+55,32
@@
public class MockRaftActorContext extends RaftActorContextImpl {
}
@Override
}
@Override
- public void update(
long newTerm,
String newVotedFor) {
+ public void update(
final long newTerm, final
String newVotedFor) {
this.currentTerm = newTerm;
this.votedFor = newVotedFor;
// TODO : Write to some persistent state
}
this.currentTerm = newTerm;
this.votedFor = newVotedFor;
// TODO : Write to some persistent state
}
- @Override public void updateAndPersist(
long newTerm,
String newVotedFor) {
+ @Override public void updateAndPersist(
final long newTerm, final
String newVotedFor) {
update(newTerm, newVotedFor);
}
};
}
update(newTerm, newVotedFor);
}
};
}
+ private static DataPersistenceProvider createProvider() {
+ return new NonPersistentDataProvider(Runnable::run);
+ }
+
public MockRaftActorContext() {
super(null, null, "test", newElectionTerm(), -1, -1, new HashMap<>(),
public MockRaftActorContext() {
super(null, null, "test", newElectionTerm(), -1, -1, new HashMap<>(),
- new DefaultConfigParamsImpl(),
new NonPersistentData
Provider(), applyState -> { }, LOG);
+ new DefaultConfigParamsImpl(),
create
Provider(), applyState -> { }, LOG);
setReplicatedLog(new MockReplicatedLogBuilder().build());
}
setReplicatedLog(new MockReplicatedLogBuilder().build());
}
- public MockRaftActorContext(
String id, ActorSystem system,
ActorRef actor) {
+ public MockRaftActorContext(
final String id, final ActorSystem system, final
ActorRef actor) {
super(actor, null, id, newElectionTerm(), -1, -1, new HashMap<>(),
super(actor, null, id, newElectionTerm(), -1, -1, new HashMap<>(),
- new DefaultConfigParamsImpl(), new NonPersistentDataProvider(),
- applyState -> actor.tell(applyState, actor), LOG);
+ new DefaultConfigParamsImpl(), createProvider(), applyState -> actor.tell(applyState, actor), LOG);
this.system = system;
this.system = system;
@@
-92,11
+98,11
@@
public class MockRaftActorContext extends RaftActorContextImpl {
setLastApplied(replicatedLog.lastIndex());
}
setLastApplied(replicatedLog.lastIndex());
}
- @Override public ActorRef actorOf(Props props) {
+ @Override public ActorRef actorOf(
final
Props props) {
return system.actorOf(props);
}
return system.actorOf(props);
}
- @Override public ActorSelection actorSelection(String path) {
+ @Override public ActorSelection actorSelection(
final
String path) {
return system.actorSelection(path);
}
return system.actorSelection(path);
}
@@
-104,7
+110,7
@@
public class MockRaftActorContext extends RaftActorContextImpl {
return this.system;
}
return this.system;
}
- @Override public ActorSelection getPeerActorSelection(String peerId) {
+ @Override public ActorSelection getPeerActorSelection(
final
String peerId) {
String peerAddress = getPeerAddress(peerId);
if (peerAddress != null) {
return actorSelection(peerAddress);
String peerAddress = getPeerAddress(peerId);
if (peerAddress != null) {
return actorSelection(peerAddress);
@@
-112,7
+118,7
@@
public class MockRaftActorContext extends RaftActorContextImpl {
return null;
}
return null;
}
- public void setPeerAddresses(Map<String, String> peerAddresses) {
+ public void setPeerAddresses(
final
Map<String, String> peerAddresses) {
for (String id: getPeerIds()) {
removePeer(id);
}
for (String id: getPeerIds()) {
removePeer(id);
}
@@
-125,32
+131,36
@@
public class MockRaftActorContext extends RaftActorContextImpl {
@Override
public SnapshotManager getSnapshotManager() {
SnapshotManager snapshotManager = super.getSnapshotManager();
@Override
public SnapshotManager getSnapshotManager() {
SnapshotManager snapshotManager = super.getSnapshotManager();
- snapshotManager.setCreateSnapshotConsumer(
out -> { }
);
+ snapshotManager.setCreateSnapshotConsumer(
createSnapshotProcedure
);
snapshotManager.setSnapshotCohort(new RaftActorSnapshotCohort() {
@Override
snapshotManager.setSnapshotCohort(new RaftActorSnapshotCohort() {
@Override
- public State deserializeSnapshot(ByteSource snapshotBytes) throws IOException {
+ public State deserializeSnapshot(
final
ByteSource snapshotBytes) throws IOException {
return ByteState.of(snapshotBytes.read());
}
@Override
return ByteState.of(snapshotBytes.read());
}
@Override
- public void createSnapshot(
ActorRef actorRef, java.util.
Optional<OutputStream> installSnapshotStream) {
+ public void createSnapshot(
final ActorRef actorRef, final
Optional<OutputStream> installSnapshotStream) {
}
@Override
}
@Override
- public void applySnapshot(State snapshotState) {
+ public void applySnapshot(
final
State snapshotState) {
}
});
return snapshotManager;
}
}
});
return snapshotManager;
}
+ public void setCreateSnapshotProcedure(final Consumer<Optional<OutputStream>> createSnapshotProcedure) {
+ this.createSnapshotProcedure = createSnapshotProcedure;
+ }
+
@Override
public RaftPolicy getRaftPolicy() {
return raftPolicy != null ? raftPolicy : super.getRaftPolicy();
}
@Override
public RaftPolicy getRaftPolicy() {
return raftPolicy != null ? raftPolicy : super.getRaftPolicy();
}
- public void setRaftPolicy(RaftPolicy raftPolicy) {
+ public void setRaftPolicy(
final
RaftPolicy raftPolicy) {
this.raftPolicy = raftPolicy;
}
this.raftPolicy = raftPolicy;
}
@@
-161,30
+171,32
@@
public class MockRaftActorContext extends RaftActorContextImpl {
}
@Override
}
@Override
- public void captureSnapshotIfReady(ReplicatedLogEntry replicatedLogEntry) {
+ public void captureSnapshotIfReady(
final
ReplicatedLogEntry replicatedLogEntry) {
}
@Override
}
@Override
- public boolean shouldCaptureSnapshot(long logIndex) {
+ public boolean shouldCaptureSnapshot(
final
long logIndex) {
return false;
}
@Override
return false;
}
@Override
- public boolean removeFromAndPersist(long index) {
+ public boolean removeFromAndPersist(
final
long index) {
return removeFrom(index) >= 0;
}
@Override
@SuppressWarnings("checkstyle:IllegalCatch")
return removeFrom(index) >= 0;
}
@Override
@SuppressWarnings("checkstyle:IllegalCatch")
- public boolean appendAndPersist(
ReplicatedLogEntry replicatedLogEntry, Procedure<ReplicatedLogEntry> callback
,
- boolean doAsync) {
+ public boolean appendAndPersist(
final ReplicatedLogEntry replicatedLogEntry
,
+
final Procedure<ReplicatedLogEntry> callback, final
boolean doAsync) {
append(replicatedLogEntry);
if (callback != null) {
try {
callback.apply(replicatedLogEntry);
append(replicatedLogEntry);
if (callback != null) {
try {
callback.apply(replicatedLogEntry);
+ } catch (RuntimeException e) {
+ throw e;
} catch (Exception e) {
} catch (Exception e) {
-
Throwables.propagate
(e);
+
throw new RuntimeException
(e);
}
}
}
}
@@
-200,12
+212,12
@@
public class MockRaftActorContext extends RaftActorContextImpl {
public MockPayload() {
}
public MockPayload() {
}
- public MockPayload(String data) {
+ public MockPayload(
final
String data) {
this.value = data;
size = value.length();
}
this.value = data;
size = value.length();
}
- public MockPayload(
String data,
int size) {
+ public MockPayload(
final String data, final
int size) {
this(data);
this.size = size;
}
this(data);
this.size = size;
}
@@
-229,7
+241,7
@@
public class MockRaftActorContext extends RaftActorContextImpl {
}
@Override
}
@Override
- public boolean equals(Object obj) {
+ public boolean equals(
final
Object obj) {
if (this == obj) {
return true;
}
if (this == obj) {
return true;
}
@@
-254,7
+266,7
@@
public class MockRaftActorContext extends RaftActorContextImpl {
public static class MockReplicatedLogBuilder {
private final ReplicatedLog mockLog = new SimpleReplicatedLog();
public static class MockReplicatedLogBuilder {
private final ReplicatedLog mockLog = new SimpleReplicatedLog();
- public MockReplicatedLogBuilder createEntries(
int start, int end,
int term) {
+ public MockReplicatedLogBuilder createEntries(
final int start, final int end, final
int term) {
for (int i = start; i < end; i++) {
this.mockLog.append(new SimpleReplicatedLogEntry(i, term,
new MockRaftActorContext.MockPayload(Integer.toString(i))));
for (int i = start; i < end; i++) {
this.mockLog.append(new SimpleReplicatedLogEntry(i, term,
new MockRaftActorContext.MockPayload(Integer.toString(i))));
@@
-262,7
+274,7
@@
public class MockRaftActorContext extends RaftActorContextImpl {
return this;
}
return this;
}
- public MockReplicatedLogBuilder addEntry(
int index, int term,
MockPayload payload) {
+ public MockReplicatedLogBuilder addEntry(
final int index, final int term, final
MockPayload payload) {
this.mockLog.append(new SimpleReplicatedLogEntry(index, term, payload));
return this;
}
this.mockLog.append(new SimpleReplicatedLogEntry(index, term, payload));
return this;
}