[VOL-4513] Always push events on the queue, even if they are duplicates

In the case of an Add -> Delete -> Add that are received very quickly,
we might try to add the second Add to the queue before the first one is removed.

If that's the case the second Add won't be processed and we'll be left in an inconsistent state.
The event handling is idempotent anyway so there's no issue in duplicating them.

Change-Id: Iebc28a147eff9a061148bc72a9878b52a62e113d
diff --git a/impl/src/main/java/org/opencord/olt/impl/Olt.java b/impl/src/main/java/org/opencord/olt/impl/Olt.java
index 8f035bf..c5f7806 100644
--- a/impl/src/main/java/org/opencord/olt/impl/Olt.java
+++ b/impl/src/main/java/org/opencord/olt/impl/Olt.java
@@ -649,16 +649,11 @@
         } finally {
             queueReadLock.unlock();
         }
-        if (!q.contains(sub)) {
-            log.info("Adding subscriber to queue: {} with status {} and subscriber {}",
-                    portWithName(sub.port), sub.status, sub.hasSubscriber);
-            q.add(sub);
-        } else {
-            log.debug("Not adding subscriber to queue as already present: {} with status {}",
-                    portWithName(sub.port), sub.status);
-            // no need to update the queue in the map if nothing has changed
-            return;
-        }
+
+        log.info("Adding subscriber to queue: {} with status {} and subscriber {}",
+                portWithName(sub.port), sub.status, sub.hasSubscriber);
+        q.add(sub);
+
         try {
             queueWriteLock.lock();
             eventsQueues.put(cp, q);
@@ -776,8 +771,11 @@
                             clearQueueForDevice(deviceId);
                         } else {
                             log.info("Device {} availability changed to false, but ports are still available, " +
-                                            "assuming temporary disconnection. Ports: {}",
-                                    deviceId, deviceService.getPorts(deviceId));
+                                            "assuming temporary disconnection.",
+                                    deviceId);
+                            if (log.isTraceEnabled()) {
+                                log.trace("Available ports: {}",  deviceService.getPorts(deviceId));
+                            }
                         }
                         return;
                     case DEVICE_REMOVED: