diff --git a/pom.xml b/pom.xml index 94741fd81..e35e13d52 100644 --- a/pom.xml +++ b/pom.xml @@ -591,7 +591,7 @@ com.github.spotbugs spotbugs-maven-plugin - 4.8.4.0 + 4.9.3.2 test diff --git a/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/internal/EmfMetricsLogger.java b/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/internal/EmfMetricsLogger.java index 1eedd270d..2f6f9e689 100644 --- a/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/internal/EmfMetricsLogger.java +++ b/powertools-metrics/src/main/java/software/amazon/lambda/powertools/metrics/internal/EmfMetricsLogger.java @@ -50,7 +50,7 @@ public class EmfMetricsLogger implements Metrics { private final software.amazon.cloudwatchlogs.emf.logger.MetricsLogger emfLogger; private final EnvironmentProvider environmentProvider; - private boolean raiseOnEmptyMetrics = false; + private AtomicBoolean raiseOnEmptyMetrics = new AtomicBoolean(false); private String namespace; private Map defaultDimensions = new HashMap<>(); private final AtomicBoolean hasMetrics = new AtomicBoolean(false); @@ -133,7 +133,7 @@ public void setNamespace(String namespace) { @Override public void setRaiseOnEmptyMetrics(boolean raiseOnEmptyMetrics) { - this.raiseOnEmptyMetrics = raiseOnEmptyMetrics; + this.raiseOnEmptyMetrics.set(raiseOnEmptyMetrics); } @Override @@ -159,7 +159,7 @@ public void flush() { Validator.validateNamespace(namespace); if (!hasMetrics.get()) { - if (raiseOnEmptyMetrics) { + if (raiseOnEmptyMetrics.get()) { throw new IllegalStateException("No metrics were emitted"); } else { LOGGER.warn("No metrics were emitted");