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);