From 22fc5a1dec6ea44c0dbd8b41e2540f92768d41d5 Mon Sep 17 00:00:00 2001 From: Andrey Shitov Date: Thu, 23 Jan 2025 13:32:42 +0300 Subject: [PATCH] fix(ha): ADH-5001. Added support for service discovery for THRIFT_HTTP mode. --- .../kyuubi/server/KyuubiTHttpFrontendService.scala | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/server/KyuubiTHttpFrontendService.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/server/KyuubiTHttpFrontendService.scala index 2763e9481f9..81d9ba4ad7b 100644 --- a/kyuubi-server/src/main/scala/org/apache/kyuubi/server/KyuubiTHttpFrontendService.scala +++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/server/KyuubiTHttpFrontendService.scala @@ -36,6 +36,7 @@ import org.eclipse.jetty.util.thread.ExecutorThreadPool import org.apache.kyuubi.KyuubiException import org.apache.kyuubi.config.KyuubiConf import org.apache.kyuubi.config.KyuubiConf._ +import org.apache.kyuubi.ha.client.{KyuubiServiceDiscovery, ServiceDiscovery} import org.apache.kyuubi.metrics.MetricsConstants.{THRIFT_HTTP_CONN_FAIL, THRIFT_HTTP_CONN_OPEN, THRIFT_HTTP_CONN_TOTAL} import org.apache.kyuubi.metrics.MetricsSystem import org.apache.kyuubi.server.http.ThriftHttpServlet @@ -237,7 +238,13 @@ final class KyuubiTHttpFrontendService( override protected def isServer(): Boolean = true - override val discoveryService: Option[Service] = None + override lazy val discoveryService: Option[Service] = { + if (ServiceDiscovery.supportServiceDiscovery(conf)) { + Some(new KyuubiServiceDiscovery(this)) + } else { + None + } + } private def getHttpPath(httpPath: String): String = { if (httpPath == null || httpPath == "") return "/*"