commit | 185cf87f0c37a1c187c1a115746b47607f4cd7aa | [log] [tgz] |
---|---|---|
author | Andrea Campanella <andrea@opennetworking.org> | Fri Sep 24 11:26:24 2021 +0200 |
committer | Andrea Campanella <andrea@opennetworking.org> | Mon Sep 27 07:19:41 2021 +0000 |
tree | 3d5fe57a3a28c4966a8ab05ebe4afc9cea2769a6 | |
parent | 61bd673eec2282aff175daff141059870db78c7d [diff] |
[ONOS-8148][SDFAB-618] Avoid meter map distruction in cluster environment on instance restart In general an instance restart should not lead to the deactivate method. Unfortunately, the bundle refresh is changing the cards on the table. Please note that destroy() behavior is implementation dependent. In this patch we have fixed bundles that can be potentially affected by the bundle refresh issue. However, other fixes may be needed in future and the fixes are use cases dependent: it depends when the bundle refresh issue is triggered along the chain of the deps. Change-Id: I7a45439f74b255d8d4b1cbdb89b6dec8adf00687
diff --git a/apps/mcast/impl/src/main/java/org/onosproject/mcast/impl/DistributedMcastRoutesStore.java b/apps/mcast/impl/src/main/java/org/onosproject/mcast/impl/DistributedMcastRoutesStore.java index 2d86104..6dc6c3d 100644 --- a/apps/mcast/impl/src/main/java/org/onosproject/mcast/impl/DistributedMcastRoutesStore.java +++ b/apps/mcast/impl/src/main/java/org/onosproject/mcast/impl/DistributedMcastRoutesStore.java
@@ -94,7 +94,6 @@ @Deactivate public void deactivate() { mcastRib.removeListener(mcastRouteListener); - mcastRib.destroy(); log.info("Stopped"); }
diff --git a/core/store/dist/src/main/java/org/onosproject/store/meter/impl/DistributedMeterStore.java b/core/store/dist/src/main/java/org/onosproject/store/meter/impl/DistributedMeterStore.java index 30da74d..43188c1 100644 --- a/core/store/dist/src/main/java/org/onosproject/store/meter/impl/DistributedMeterStore.java +++ b/core/store/dist/src/main/java/org/onosproject/store/meter/impl/DistributedMeterStore.java
@@ -191,8 +191,10 @@ public void deactivate() { meters.removeListener(metersMapListener); metersFeatures.removeListener(featuresMapListener); - meters.destroy(); + + // EC map does clean only the local state metersFeatures.destroy(); + // Distributed set does not override the default behavior availableMeterIds.forEach((key, set) -> set.destroy()); log.info("Stopped");