Shutdown cleanup; hunt for exceptions continues

Change-Id: I8cbfaec0820d63f5122a82dd25ba249ba1f690a4
diff --git a/core/store/dist/src/main/java/org/onosproject/store/cfg/GossipComponentConfigStore.java b/core/store/dist/src/main/java/org/onosproject/store/cfg/GossipComponentConfigStore.java
index 94e17b1..13690d4 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/cfg/GossipComponentConfigStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/cfg/GossipComponentConfigStore.java
@@ -76,6 +76,7 @@
 
     @Deactivate
     public void deactivate() {
+        properties.destroy();
         log.info("Stopped");
     }
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/ecmap/EventuallyConsistentMapImpl.java b/core/store/dist/src/main/java/org/onosproject/store/ecmap/EventuallyConsistentMapImpl.java
index 62d145d..cf652ff 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/ecmap/EventuallyConsistentMapImpl.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/ecmap/EventuallyConsistentMapImpl.java
@@ -498,7 +498,7 @@
                 return;
             }
 
-            if (underHighLoad()) {
+            if (underHighLoad() || destroyed) {
                 return;
             }
 
@@ -700,10 +700,13 @@
         }
     }
 
-    private final class InternalEventListener implements
-            ClusterMessageHandler {
+    private final class InternalEventListener implements ClusterMessageHandler {
         @Override
         public void handle(ClusterMessage message) {
+            if (destroyed) {
+                return;
+            }
+
             log.debug("Received update event from peer: {}", message.sender());
             Collection<AbstractEntry<K, V>> events = serializer.decode(message.payload());
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/group/impl/DistributedGroupStore.java b/core/store/dist/src/main/java/org/onosproject/store/group/impl/DistributedGroupStore.java
index 1d30607..d6d92a9 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/group/impl/DistributedGroupStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/group/impl/DistributedGroupStore.java
@@ -234,6 +234,9 @@
 
     @Deactivate
     public void deactivate() {
+        groupStoreEntriesByKey.destroy();
+        groupStoreEntriesById.destroy();
+        auditPendingReqQueue.destroy();
         log.info("Stopped");
     }