From f0bb90d90212067622a84653418e38369a98aca4 Mon Sep 17 00:00:00 2001 From: Michael Ummels Date: Thu, 3 Oct 2024 18:58:58 +0200 Subject: [PATCH] Add check in ScheduledReporter's stop method (#4246) Closes #4135 --- .../java/com/codahale/metrics/ScheduledReporter.java | 11 +++++++---- .../metrics/graphite/GraphiteReporterTest.java | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/metrics-core/src/main/java/com/codahale/metrics/ScheduledReporter.java b/metrics-core/src/main/java/com/codahale/metrics/ScheduledReporter.java index 4723cdfc8c..bb7ad86c15 100644 --- a/metrics-core/src/main/java/com/codahale/metrics/ScheduledReporter.java +++ b/metrics-core/src/main/java/com/codahale/metrics/ScheduledReporter.java @@ -220,10 +220,13 @@ public void stop() { executor.shutdown(); // Disable new tasks from being submitted } - try { - report(); // Report metrics one last time - } catch (Exception e) { - LOG.warn("Final reporting of metrics failed.", e); + if (this.scheduledFuture != null) { + // Reporter started, try to report metrics one last time + try { + report(); + } catch (Exception e) { + LOG.warn("Final reporting of metrics failed.", e); + } } if (shutdownExecutorOnStop) { diff --git a/metrics-graphite/src/test/java/com/codahale/metrics/graphite/GraphiteReporterTest.java b/metrics-graphite/src/test/java/com/codahale/metrics/graphite/GraphiteReporterTest.java index 3498b2ce64..240c0d26ff 100644 --- a/metrics-graphite/src/test/java/com/codahale/metrics/graphite/GraphiteReporterTest.java +++ b/metrics-graphite/src/test/java/com/codahale/metrics/graphite/GraphiteReporterTest.java @@ -445,6 +445,7 @@ public void closesConnectionIfGraphiteIsUnavailable() throws Exception { @Test public void closesConnectionOnReporterStop() throws Exception { + reporter.start(1, TimeUnit.SECONDS); reporter.stop(); final InOrder inOrder = inOrder(graphite);