From f2074ac36652f69b1918acf63023ba18c76c665b Mon Sep 17 00:00:00 2001 From: prabodhtr Date: Tue, 8 Oct 2024 23:37:06 +0530 Subject: [PATCH] Envoy announcer should only start from coordinators --- .../io/trino/server/EnvoyAnnouncementClient.java | 2 +- .../java/io/trino/server/EnvoyAnnouncerModule.java | 13 ++++--------- .../src/main/java/io/trino/server/Server.java | 3 +-- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/core/trino-main/src/main/java/io/trino/server/EnvoyAnnouncementClient.java b/core/trino-main/src/main/java/io/trino/server/EnvoyAnnouncementClient.java index 82d4b8422409..0ddd0ff27534 100644 --- a/core/trino-main/src/main/java/io/trino/server/EnvoyAnnouncementClient.java +++ b/core/trino-main/src/main/java/io/trino/server/EnvoyAnnouncementClient.java @@ -73,7 +73,7 @@ public ListenableFuture announce() { return httpClient.executeAsync(request, new EnvoyResponseHandler<>("envoyAnnouncement", uri) { @Override - public Duration handle(Request request, Response response) throws RuntimeException { + public Duration handle(Request request, Response response) throws DiscoveryException { int statusCode = response.getStatusCode(); if (!isSuccess(statusCode)) { throw new DiscoveryException(String.format( diff --git a/core/trino-main/src/main/java/io/trino/server/EnvoyAnnouncerModule.java b/core/trino-main/src/main/java/io/trino/server/EnvoyAnnouncerModule.java index dfe2bd5be4b0..57b03b31de7b 100644 --- a/core/trino-main/src/main/java/io/trino/server/EnvoyAnnouncerModule.java +++ b/core/trino-main/src/main/java/io/trino/server/EnvoyAnnouncerModule.java @@ -23,14 +23,9 @@ public class EnvoyAnnouncerModule extends AbstractConfigurationAwareModule { @Override protected void setup(Binder binder) { - if (buildConfigObject(ServerConfig.class).isCoordinator() && - buildConfigObject(CoordinatorAnnouncerConfig.class).isEnabled()) { - - ConfigBinder.configBinder(binder).bindConfig(CoordinatorAnnouncerConfig.class); - binder.bind(EnvoyAnnouncementClient.class).in(Scopes.SINGLETON); - HttpClientBinder.httpClientBinder(binder).bindHttpClient("envoy", ForEnvoyAnnouncement.class); - binder.bind(EnvoyAnnouncer.class).in(Scopes.SINGLETON); - } - + ConfigBinder.configBinder(binder).bindConfig(CoordinatorAnnouncerConfig.class); + binder.bind(EnvoyAnnouncementClient.class).in(Scopes.SINGLETON); + HttpClientBinder.httpClientBinder(binder).bindHttpClient("envoy", ForEnvoyAnnouncement.class); + binder.bind(EnvoyAnnouncer.class).in(Scopes.SINGLETON); } } diff --git a/core/trino-main/src/main/java/io/trino/server/Server.java b/core/trino-main/src/main/java/io/trino/server/Server.java index 5455a4c1c0eb..ad9de6755997 100644 --- a/core/trino-main/src/main/java/io/trino/server/Server.java +++ b/core/trino-main/src/main/java/io/trino/server/Server.java @@ -188,6 +188,7 @@ private void doStart(String trinoVersion) if (injector.getInstance(ServerConfig.class).isCoordinator()) { injector.getInstance(EventListenerManager.class).loadEventListeners(); + injector.getInstance(EnvoyAnnouncer.class).start(); } injector.getInstance(Key.get(new TypeLiteral>() {})) @@ -195,8 +196,6 @@ private void doStart(String trinoVersion) injector.getInstance(Announcer.class).start(); - injector.getInstance(EnvoyAnnouncer.class).start(); - injector.getInstance(StartupStatus.class).startupComplete(); log.info("Server startup completed in %s", Duration.nanosSince(startTime).convertToMostSuccinctTimeUnit()); log.info("======== SERVER STARTED ========");