commit | c0e2013d5f5cad8b2ada7d7367eea4878141dbfb | [log] [tgz] |
---|---|---|
author | Thomas Vachuska <tom@onlab.us> | Fri Jul 31 12:15:42 2015 -0700 |
committer | Gerrit Code Review <gerrit@onlab.us> | Fri Jul 31 19:25:01 2015 +0000 |
tree | 2fe9fb1c6ece27159d6ab51cd2c8d3fc06687f8d | |
parent | 6f440331fd561a2b17377caec2cd4153f1d3cf73 [diff] |
Eliminated the hang when shutting down a single-instance. Root cause remains in the leadership topic withdrawal. Change-Id: Iad740929b683a253a7eec0282b52e8f6f31ebcfe
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java index 704d93c..8f4b40a 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java +++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DistributedLeadershipManager.java
@@ -191,11 +191,14 @@ @Deactivate public void deactivate() { - leaderBoard.forEach((topic, leadership) -> { - if (localNodeId.equals(leadership.leader())) { - withdraw(topic); - } - }); + if (clusterService.getNodes().size() > 1) { + // FIXME: Determine why this takes ~50 seconds to shutdown on a single node! + leaderBoard.forEach((topic, leadership) -> { + if (localNodeId.equals(leadership.leader())) { + withdraw(topic); + } + }); + } clusterService.removeListener(clusterEventListener); eventDispatcher.removeSink(LeadershipEvent.class);