You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by aa...@apache.org on 2022/10/25 11:21:00 UTC

[rocketmq-clients] branch master updated: Shutdown the ClientMeterManager during the closing of producer/consumer (#266)

This is an automated email from the ASF dual-hosted git repository.

aaronai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-clients.git


The following commit(s) were added to refs/heads/master by this push:
     new df2654a  Shutdown the ClientMeterManager during the closing of producer/consumer (#266)
df2654a is described below

commit df2654a707892f8f8a7c5c67a3ed814156f3e3ac
Author: Aaron Ai <ya...@gmail.com>
AuthorDate: Tue Oct 25 19:20:54 2022 +0800

    Shutdown the ClientMeterManager during the closing of producer/consumer (#266)
---
 .../main/java/org/apache/rocketmq/client/java/impl/ClientImpl.java    | 1 +
 .../java/org/apache/rocketmq/client/java/metrics/ClientMeter.java     | 1 +
 .../org/apache/rocketmq/client/java/metrics/ClientMeterManager.java   | 4 ++++
 3 files changed, 6 insertions(+)

diff --git a/java/client/src/main/java/org/apache/rocketmq/client/java/impl/ClientImpl.java b/java/client/src/main/java/org/apache/rocketmq/client/java/impl/ClientImpl.java
index d9cbdbc..95eef3c 100644
--- a/java/client/src/main/java/org/apache/rocketmq/client/java/impl/ClientImpl.java
+++ b/java/client/src/main/java/org/apache/rocketmq/client/java/impl/ClientImpl.java
@@ -229,6 +229,7 @@ public abstract class ClientImpl extends AbstractIdleService implements Client,
         if (!ExecutorServices.awaitTerminated(clientCallbackExecutor)) {
             LOGGER.error("[Bug] Timeout to shutdown the client callback executor, clientId={}", clientId);
         }
+        clientMeterManager.shutdown();
         LOGGER.info("Shutdown the rocketmq client successfully, clientId={}", clientId);
     }
 
diff --git a/java/client/src/main/java/org/apache/rocketmq/client/java/metrics/ClientMeter.java b/java/client/src/main/java/org/apache/rocketmq/client/java/metrics/ClientMeter.java
index e3bb44c..3326793 100644
--- a/java/client/src/main/java/org/apache/rocketmq/client/java/metrics/ClientMeter.java
+++ b/java/client/src/main/java/org/apache/rocketmq/client/java/metrics/ClientMeter.java
@@ -81,6 +81,7 @@ public class ClientMeter {
         if (!enabled) {
             return;
         }
+        LOGGER.info("Begin to shutdown client meter, clientId={}, endpoints={}", clientId, endpoints);
         final CountDownLatch latch = new CountDownLatch(1);
         provider.shutdown().whenComplete(latch::countDown);
         try {
diff --git a/java/client/src/main/java/org/apache/rocketmq/client/java/metrics/ClientMeterManager.java b/java/client/src/main/java/org/apache/rocketmq/client/java/metrics/ClientMeterManager.java
index 748fb02..c882a5c 100644
--- a/java/client/src/main/java/org/apache/rocketmq/client/java/metrics/ClientMeterManager.java
+++ b/java/client/src/main/java/org/apache/rocketmq/client/java/metrics/ClientMeterManager.java
@@ -72,6 +72,10 @@ public class ClientMeterManager {
         clientMeter.record(histogramEnum, attributes, value);
     }
 
+    public void shutdown() {
+        clientMeter.shutdown();
+    }
+
     @SuppressWarnings("deprecation")
     public synchronized void reset(Metric metric) {
         try {