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

xingtanzjr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new b0562e78c5 close active connection in prometheus reporter. (#7446)
b0562e78c5 is described below

commit b0562e78c5e5379772db548d4873b4a99c11d7a5
Author: ZhangHongYin <[email protected]>
AuthorDate: Wed Sep 28 15:47:26 2022 +0800

    close active connection in prometheus reporter. (#7446)
---
 .../metrics/dropwizard/reporter/DropwizardPrometheusReporter.java   | 3 +++
 .../metrics/micrometer/reporter/MicrometerPrometheusReporter.java   | 6 +++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/metrics/dropwizard-metrics/src/main/java/org/apache/iotdb/metrics/dropwizard/reporter/DropwizardPrometheusReporter.java
 
b/metrics/dropwizard-metrics/src/main/java/org/apache/iotdb/metrics/dropwizard/reporter/DropwizardPrometheusReporter.java
index e3c1570562..88183f7bef 100644
--- 
a/metrics/dropwizard-metrics/src/main/java/org/apache/iotdb/metrics/dropwizard/reporter/DropwizardPrometheusReporter.java
+++ 
b/metrics/dropwizard-metrics/src/main/java/org/apache/iotdb/metrics/dropwizard/reporter/DropwizardPrometheusReporter.java
@@ -27,6 +27,8 @@ import org.apache.iotdb.metrics.utils.ReporterType;
 
 import com.codahale.metrics.MetricRegistry;
 import io.netty.channel.ChannelOption;
+import io.netty.channel.group.DefaultChannelGroup;
+import io.netty.util.concurrent.GlobalEventExecutor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import reactor.core.publisher.Mono;
@@ -53,6 +55,7 @@ public class DropwizardPrometheusReporter implements Reporter 
{
     httpServer =
         HttpServer.create()
             .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 2000)
+            .channelGroup(new 
DefaultChannelGroup(GlobalEventExecutor.INSTANCE))
             .port(port)
             .route(
                 routes ->
diff --git 
a/metrics/micrometer-metrics/src/main/java/org/apache/iotdb/metrics/micrometer/reporter/MicrometerPrometheusReporter.java
 
b/metrics/micrometer-metrics/src/main/java/org/apache/iotdb/metrics/micrometer/reporter/MicrometerPrometheusReporter.java
index 709063da3d..752e70cc4a 100644
--- 
a/metrics/micrometer-metrics/src/main/java/org/apache/iotdb/metrics/micrometer/reporter/MicrometerPrometheusReporter.java
+++ 
b/metrics/micrometer-metrics/src/main/java/org/apache/iotdb/metrics/micrometer/reporter/MicrometerPrometheusReporter.java
@@ -30,12 +30,15 @@ import io.micrometer.core.instrument.Metrics;
 import io.micrometer.prometheus.PrometheusConfig;
 import io.micrometer.prometheus.PrometheusMeterRegistry;
 import io.netty.channel.ChannelOption;
+import io.netty.channel.group.DefaultChannelGroup;
+import io.netty.util.concurrent.GlobalEventExecutor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import reactor.core.publisher.Mono;
 import reactor.netty.DisposableServer;
 import reactor.netty.http.server.HttpServer;
 
+import java.time.Duration;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -67,6 +70,7 @@ public class MicrometerPrometheusReporter implements Reporter 
{
     httpServer =
         HttpServer.create()
             .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 2000)
+            .channelGroup(new 
DefaultChannelGroup(GlobalEventExecutor.INSTANCE))
             .port(metricConfig.getPrometheusExporterPort())
             .route(
                 routes ->
@@ -92,7 +96,7 @@ public class MicrometerPrometheusReporter implements Reporter 
{
           meterRegistry.close();
           Metrics.removeRegistry(meterRegistry);
         }
-        httpServer.disposeNow();
+        httpServer.disposeNow(Duration.ofSeconds(10));
         httpServer = null;
       } catch (Exception e) {
         LOGGER.error("failed to stop server", e);

Reply via email to