[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/Olt.java b/app/src/main/java/org/opencord/olt/impl/Olt.java
index d572657..3323480 100644
--- a/app/src/main/java/org/opencord/olt/impl/Olt.java
+++ b/app/src/main/java/org/opencord/olt/impl/Olt.java
@@ -797,11 +797,10 @@
}
}
private void checkAndCreateDevMeter(DeviceId deviceId, BandwidthProfileInformation bwpInfo) {
- if (oltMeterService.isMeterPending(deviceId, bwpInfo)) {
- log.debug("Meter is already pending {} on device {}", bwpInfo, deviceId);
+ //If false the meter is already being installed, skipping installation
+ if (!oltMeterService.checkAndAddPendingMeter(deviceId, bwpInfo)) {
return;
}
- oltMeterService.addToPendingMeters(deviceId, bwpInfo);
createMeter(deviceId, bwpInfo);
}