diff --git a/kyuubi-metrics/src/main/scala/org/apache/kyuubi/metrics/MetricsSystem.scala b/kyuubi-metrics/src/main/scala/org/apache/kyuubi/metrics/MetricsSystem.scala index 26344ca56..3db6daba4 100644 --- a/kyuubi-metrics/src/main/scala/org/apache/kyuubi/metrics/MetricsSystem.scala +++ b/kyuubi-metrics/src/main/scala/org/apache/kyuubi/metrics/MetricsSystem.scala @@ -58,6 +58,10 @@ class MetricsSystem extends CompositeService("MetricsSystem") { meter.mark(value) } + def getGauge[T](name: String): Option[Gauge[T]] = { + Option(registry.gauge(name)) + } + def registerGauge[T](name: String, value: => T, default: T): Unit = { registry.register( MetricRegistry.name(name), diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/util/SSLUtils.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/util/SSLUtils.scala index f73f87b90..c0765b9a4 100644 --- a/kyuubi-server/src/main/scala/org/apache/kyuubi/util/SSLUtils.scala +++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/util/SSLUtils.scala @@ -56,13 +56,15 @@ object SSLUtils extends Logging { keyStorePath.get, keyStorePassword.get, keyStoreType).foreach { expiration => - info(s"Thrift SSL Serve KeyStore ${keyStorePath.get} will expire at:" + + info(s"Thrift SSL Server KeyStore ${keyStorePath.get} will expire at:" + s" ${Utils.getDateFromTimestamp(expiration)}") MetricsSystem.tracing { ms => - ms.registerGauge( - MetricsConstants.THRIFT_SSL_CERT_EXPIRATION, - expiration - System.currentTimeMillis(), - 0L) + if (ms.getGauge(MetricsConstants.THRIFT_SSL_CERT_EXPIRATION).isEmpty) { + ms.registerGauge( + MetricsConstants.THRIFT_SSL_CERT_EXPIRATION, + expiration - System.currentTimeMillis(), + 0L) + } } } }