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");
     }
 
diff --git a/openflow/api/src/main/java/org/onosproject/openflow/controller/driver/AbstractOpenFlowSwitch.java b/openflow/api/src/main/java/org/onosproject/openflow/controller/driver/AbstractOpenFlowSwitch.java
index 2f17324..e9be1d3 100644
--- a/openflow/api/src/main/java/org/onosproject/openflow/controller/driver/AbstractOpenFlowSwitch.java
+++ b/openflow/api/src/main/java/org/onosproject/openflow/controller/driver/AbstractOpenFlowSwitch.java
@@ -103,6 +103,7 @@
             try {
                 this.write(m);
             } catch (RejectedExecutionException e) {
+                log.warn(e.getMessage());
                 if (!e.getMessage().contains(SHUTDOWN_MSG)) {
                     throw e;
                 }
@@ -116,6 +117,7 @@
             try {
                 this.write(msgs);
             } catch (RejectedExecutionException e) {
+                log.warn(e.getMessage());
                 if (!e.getMessage().contains(SHUTDOWN_MSG)) {
                     throw e;
                 }
diff --git a/tools/dev/bash_profile b/tools/dev/bash_profile
index 2b05f1b..cd6778f 100644
--- a/tools/dev/bash_profile
+++ b/tools/dev/bash_profile
@@ -52,10 +52,15 @@
 # alias go='ob && ot && onos -w'
 alias pub='onos-push-update-bundle'
 
-# Short-hand for tailing the ONOS (karaf) log 
+# Short-hand for tailing and searching the ONOS (karaf) log
 alias tl='$ONOS_ROOT/tools/dev/bin/onos-local-log'
-alias tlo='tl | grep --colour=always -E -e "org.onlab|org.onosproject"'
 alias ll='less $KARAF_LOG'
+alias gl='grep $KARAF_LOG --colour=auto -E -e '
+
+function filterLog {
+    tl | grep --colour=always -E -e "${1-org.onlab|org.onosproject}"
+}
+alias tlo='filterLog'
 
 # Pretty-print JSON output
 alias pp='python -m json.tool'