diff --git a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/Gateway.java b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/Gateway.java index 9126d8ed4a2b..7b8dd58e2e28 100644 --- a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/Gateway.java +++ b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/Gateway.java @@ -33,6 +33,7 @@ import org.apache.hadoop.hdds.server.http.BaseHttpServer; import org.apache.hadoop.hdds.tracing.TracingUtil; import org.apache.hadoop.hdds.utils.HddsServerUtil; +import org.apache.hadoop.hdds.utils.NettyMetrics; import org.apache.hadoop.ozone.OzoneSecurityUtil; import org.apache.hadoop.ozone.s3.metrics.S3GatewayMetrics; import org.apache.hadoop.ozone.util.OzoneNetUtils; @@ -61,6 +62,7 @@ public class Gateway extends GenericCli implements Callable { /** Servlets and static content on separate port. */ private BaseHttpServer contentServer; private S3GatewayMetrics metrics; + private NettyMetrics nettyMetrics; private final JvmPauseMonitor jvmPauseMonitor = newJvmPauseMonitor("S3G"); @@ -81,6 +83,7 @@ public Void call() throws Exception { httpServer = new S3GatewayHttpServer(OzoneConfigurationHolder.configuration(), "s3gateway"); contentServer = new S3GatewayWebAdminServer(OzoneConfigurationHolder.configuration(), "s3g-web"); metrics = S3GatewayMetrics.create(OzoneConfigurationHolder.configuration()); + nettyMetrics = NettyMetrics.create(); start(); ShutdownHookManager.get().addShutdownHook(() -> { @@ -112,6 +115,9 @@ public void stop() throws Exception { contentServer.stop(); jvmPauseMonitor.stop(); S3GatewayMetrics.unRegister(); + if (nettyMetrics != null) { + nettyMetrics.unregister(); + } } private static void loginS3GUser(OzoneConfiguration conf)