Fix StoragePartition to return a furture for opening partition client + Fixes in AtomixLeaderElector
Change-Id: I6adf91e84cc17aec8acc895884dc8fbe75037978
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixLeaderElectorState.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixLeaderElectorState.java
index 0621042..d09092a 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixLeaderElectorState.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixLeaderElectorState.java
@@ -202,9 +202,10 @@
public boolean anoint(Commit<? extends Anoint> commit) {
try {
String topic = commit.operation().topic();
+ NodeId nodeId = commit.operation().nodeId();
Leadership oldLeadership = leadership(topic);
ElectionState electionState = elections.computeIfPresent(topic,
- (k, v) -> new ElectionState(v).transferLeadership(commit.operation().nodeId(), termCounter(topic)));
+ (k, v) -> v.transferLeadership(nodeId, termCounter(topic)));
Leadership newLeadership = leadership(topic);
if (!Objects.equal(oldLeadership, newLeadership)) {
notifyLeadershipChange(oldLeadership, newLeadership);
@@ -230,7 +231,7 @@
if (oldLeadership == null || !oldLeadership.candidates().contains(nodeId)) {
return false;
}
- elections.computeIfPresent(topic, (k, v) -> new ElectionState(v).promote(commit.operation().nodeId()));
+ elections.computeIfPresent(topic, (k, v) -> v.promote(nodeId));
Leadership newLeadership = leadership(topic);
if (!Objects.equal(oldLeadership, newLeadership)) {
notifyLeadershipChange(oldLeadership, newLeadership);
@@ -498,7 +499,7 @@
.filter(r -> r.nodeId().equals(nodeId))
.findFirst()
.orElse(null);
- List<Registration> updatedRegistrations = Lists.newLinkedList();
+ List<Registration> updatedRegistrations = Lists.newArrayList();
updatedRegistrations.add(registration);
registrations.stream()
.filter(r -> !r.nodeId().equals(nodeId))