From b1710ed03cd2b0f43991444c67c4808eae7d0831 Mon Sep 17 00:00:00 2001 From: Piotr Findeisen Date: Tue, 15 Mar 2022 13:55:07 +0100 Subject: [PATCH] Shutdown server threads on server close This fix threads leak in tests. --- .../main/java/io/trino/execution/ClusterSizeMonitor.java | 1 + .../main/java/io/trino/metadata/DiscoveryNodeManager.java | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/core/trino-main/src/main/java/io/trino/execution/ClusterSizeMonitor.java b/core/trino-main/src/main/java/io/trino/execution/ClusterSizeMonitor.java index d2a03bb7bcd9..086c418bcfa1 100644 --- a/core/trino-main/src/main/java/io/trino/execution/ClusterSizeMonitor.java +++ b/core/trino-main/src/main/java/io/trino/execution/ClusterSizeMonitor.java @@ -87,6 +87,7 @@ public void start() public void stop() { nodeManager.removeNodeChangeListener(listener); + executor.shutdown(); } /** diff --git a/core/trino-main/src/main/java/io/trino/metadata/DiscoveryNodeManager.java b/core/trino-main/src/main/java/io/trino/metadata/DiscoveryNodeManager.java index c228a9f6515a..1a20c3dd8e07 100644 --- a/core/trino-main/src/main/java/io/trino/metadata/DiscoveryNodeManager.java +++ b/core/trino-main/src/main/java/io/trino/metadata/DiscoveryNodeManager.java @@ -154,6 +154,13 @@ public void startPollingNodeStates() pollWorkers(); } + @PreDestroy + public void destroy() + { + nodeStateUpdateExecutor.shutdown(); + nodeStateEventExecutor.shutdown(); + } + private void pollWorkers() { AllNodes allNodes = getAllNodes();