Avoid reading cluster metadata in critical section of DistributedClusterStore

Change-Id: Ifa1ade86a45c7ed09e5e6f6bba05a7b96df3c201
diff --git a/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/DistributedClusterStore.java b/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/DistributedClusterStore.java
index 374abf2..1c91bf3 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/DistributedClusterStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/cluster/impl/DistributedClusterStore.java
@@ -337,7 +337,7 @@
         @Override
         public void accept(Endpoint sender, byte[] message) {
             HeartbeatMessage hb = SERIALIZER.decode(message);
-            if (clusterMetadataService.getClusterMetadata().getNodes().contains(hb.source())) {
+            if (allNodes.containsKey(hb.source.id())) {
                 // Avoid reporting heartbeats that have been enqueued by setting a minimum interval.
                 long heartbeatTime = System.currentTimeMillis();
                 Long lastHeartbeatTime = failureDetector.getLastHeartbeatTime(hb.source().id());