Handle duplicate listen requests submitted to the state machine

Change-Id: I9f17be5a751f7f2b17f8e89232dc0403ca260137
diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentMapState.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentMapState.java
index 6395f69..31b6d76 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentMapState.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentMapState.java
@@ -318,7 +318,10 @@
      */
     protected void listen(Commit<? extends Listen> commit) {
         Long sessionId = commit.session().id();
-        listeners.put(sessionId, commit);
+        if (listeners.putIfAbsent(sessionId, commit) != null) {
+            commit.close();
+            return;
+        }
         commit.session()
                 .onStateChange(
                         state -> {