Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Add getPeerIds to RaftActorContext
[controller.git]
/
opendaylight
/
md-sal
/
sal-akka-raft
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
cluster
/
raft
/
behaviors
/
AbstractRaftActorBehavior.java
diff --git
a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java
b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java
index 787bd74629b0c643400e49deb32a40468c52e50a..8cb011f7a71d1b54b76bba86a261612f4f555bb0 100644
(file)
--- a/
opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java
+++ b/
opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/behaviors/AbstractRaftActorBehavior.java
@@
-10,6
+10,7
@@
package org.opendaylight.controller.cluster.raft.behaviors;
import akka.actor.ActorRef;
import akka.actor.Cancellable;
import akka.actor.ActorRef;
import akka.actor.Cancellable;
+import java.util.Map;
import java.util.Random;
import java.util.concurrent.TimeUnit;
import org.opendaylight.controller.cluster.raft.ClientRequestTracker;
import java.util.Random;
import java.util.concurrent.TimeUnit;
import org.opendaylight.controller.cluster.raft.ClientRequestTracker;
@@
-492,14
+493,19
@@
public abstract class AbstractRaftActorBehavior implements RaftActorBehavior {
}
public void applyServerConfiguration(ServerConfigurationPayload serverConfig) {
}
public void applyServerConfiguration(ServerConfigurationPayload serverConfig) {
- for(String peerId: context.getPeerAddresses().keySet()) {
- context.removePeer(peerId);
- }
-
+ Map<String, String> currentPeers = context.getPeerAddresses();
for(String peerId: serverConfig.getNewServerConfig()) {
if(!getId().equals(peerId)) {
for(String peerId: serverConfig.getNewServerConfig()) {
if(!getId().equals(peerId)) {
- context.addToPeers(peerId, null);
+ if(!currentPeers.containsKey(peerId)) {
+ context.addToPeers(peerId, null);
+ } else {
+ currentPeers.remove(peerId);
+ }
}
}
}
}
+
+ for(String peerIdToRemove: currentPeers.keySet()) {
+ context.removePeer(peerIdToRemove);
+ }
}
}
}
}