commit | 2074d13a05ee42c242ae423ac9b8f0a87d7466b4 | [log] [tgz] |
---|---|---|
author | jaegonkim <jaegon77.kim@samsung.com> | Wed Apr 04 23:00:52 2018 +0900 |
committer | Jordan Halterman <jordan@opennetworking.org> | Mon Apr 09 17:00:55 2018 +0000 |
tree | b99244221513636b173a3bcaf1d0108d7ab7e305 | |
parent | 8a571af5748145132b68ca27916fb601f3428069 [diff] |
[ONOS-7586] ONOS leadership change does not occurs sometimes. Change-Id: Ifa1999c7ce0601fc65cad22af753b78c43b5da0c
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixLeaderElectorService.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixLeaderElectorService.java index 542c375..dcddcfc 100644 --- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixLeaderElectorService.java +++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixLeaderElectorService.java
@@ -341,16 +341,16 @@ private void onSessionEnd(RaftSession session) { listeners.remove(session.sessionId().id()); - Set<String> topics = elections.keySet(); + Set<String> topics = ImmutableSet.copyOf(elections.keySet()); List<Change<Leadership>> changes = Lists.newArrayList(); - topics.forEach(topic -> { + for (String topic: topics) { Leadership oldLeadership = leadership(topic); elections.compute(topic, (k, v) -> v.cleanup(session, termCounter(topic)::incrementAndGet)); Leadership newLeadership = leadership(topic); if (!Objects.equal(oldLeadership, newLeadership)) { changes.add(new Change<>(oldLeadership, newLeadership)); } - }); + } notifyLeadershipChanges(changes); }