diff --git a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/writer/CodahaleMetricWriter.java b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/writer/CodahaleMetricWriter.java index 5f3b1cc0a59..17e44bec57c 100644 --- a/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/writer/CodahaleMetricWriter.java +++ b/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/writer/CodahaleMetricWriter.java @@ -103,8 +103,9 @@ public class CodahaleMetricWriter implements MetricWriter { private Object getGuageLock(String name) { Object lock = this.gaugeLocks.get(name); if (lock == null) { - this.gaugeLocks.putIfAbsent(name, new Object()); - lock = this.gaugeLocks.get(name); + Object newLock = new Object(); + lock = this.gaugeLocks.putIfAbsent(name, newLock); + lock = (lock == null ? newLock : lock); } return lock; }