[VOL-3590] Synchronizing read ans subsequent write to the pending Meters map to avoid duplicate meters

Change-Id: I7c08a642dd7183f5bed2da86f59f53a30865790a
diff --git a/app/src/main/java/org/opencord/olt/impl/OltFlowService.java b/app/src/main/java/org/opencord/olt/impl/OltFlowService.java
index f934c54..6ae705a 100644
--- a/app/src/main/java/org/opencord/olt/impl/OltFlowService.java
+++ b/app/src/main/java/org/opencord/olt/impl/OltFlowService.java
@@ -473,12 +473,10 @@
                                                                null, bpInfo.id());
                 pendingEapolForMeters.add(fi);
 
-                if (oltMeterService.isMeterPending(devId, bpInfo)) {
-                    log.debug("Meter is already pending for EAPOL on {} with bp {}",
-                              devId, bpInfo);
+                //If false the meter is already being installed, skipping installation
+                if (!oltMeterService.checkAndAddPendingMeter(devId, bpInfo)) {
                     return;
                 }
-                oltMeterService.addToPendingMeters(devId, bpInfo);
                 MeterId innerMeterId = oltMeterService.createMeter(devId, bpInfo,
                                                                    meterFuture);
                 fi.setUpMeterId(innerMeterId);