From 6f3132879f1dd85862d009e90cec4c4f2a998a7f Mon Sep 17 00:00:00 2001 From: aaron-congo Date: Wed, 15 Jan 2025 16:40:03 -0800 Subject: [PATCH] test: close topology monitors before each test --- .../src/main/java/software/amazon/jdbc/Driver.java | 1 + .../monitoring/ClusterTopologyMonitorImpl.java | 3 +++ .../monitoring/MonitoringRdsHostListProvider.java | 11 +---------- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/wrapper/src/main/java/software/amazon/jdbc/Driver.java b/wrapper/src/main/java/software/amazon/jdbc/Driver.java index 5c44dae6d..b66e216b4 100644 --- a/wrapper/src/main/java/software/amazon/jdbc/Driver.java +++ b/wrapper/src/main/java/software/amazon/jdbc/Driver.java @@ -412,6 +412,7 @@ public static void releaseResources() { CustomEndpointPlugin.closeMonitors(); HikariPoolsHolder.closeAllPools(); HostResponseTimeServiceImpl.closeAllMonitors(); + MonitoringRdsHostListProvider.closeAllMonitors(); clearCaches(); } } diff --git a/wrapper/src/main/java/software/amazon/jdbc/hostlistprovider/monitoring/ClusterTopologyMonitorImpl.java b/wrapper/src/main/java/software/amazon/jdbc/hostlistprovider/monitoring/ClusterTopologyMonitorImpl.java index ee2d46511..24461916c 100644 --- a/wrapper/src/main/java/software/amazon/jdbc/hostlistprovider/monitoring/ClusterTopologyMonitorImpl.java +++ b/wrapper/src/main/java/software/amazon/jdbc/hostlistprovider/monitoring/ClusterTopologyMonitorImpl.java @@ -265,6 +265,7 @@ protected List waitTillTopologyGetsUpdated(final long timeoutMs) throw @Override public void close() throws Exception { this.stop.set(true); + this.nodeThreadsStop.set(true); // It breaks a waiting/sleeping cycles in monitoring thread synchronized (this.requestToUpdateTopology) { @@ -276,6 +277,8 @@ public void close() throws Exception { if (!this.monitorExecutor.awaitTermination(30, TimeUnit.SECONDS)) { this.monitorExecutor.shutdownNow(); } + + this.nodeThreads.clear(); } @Override diff --git a/wrapper/src/main/java/software/amazon/jdbc/hostlistprovider/monitoring/MonitoringRdsHostListProvider.java b/wrapper/src/main/java/software/amazon/jdbc/hostlistprovider/monitoring/MonitoringRdsHostListProvider.java index 0dc9a46e9..398f9b605 100644 --- a/wrapper/src/main/java/software/amazon/jdbc/hostlistprovider/monitoring/MonitoringRdsHostListProvider.java +++ b/wrapper/src/main/java/software/amazon/jdbc/hostlistprovider/monitoring/MonitoringRdsHostListProvider.java @@ -85,17 +85,8 @@ public MonitoringRdsHostListProvider( CLUSTER_TOPOLOGY_HIGH_REFRESH_RATE_MS.getLong(this.properties)); } - /** - * Clear topology cache for the current cluster. - */ - public void clear() { - topologyCache.remove(this.clusterId); - } - public static void clearCache() { - topologyCache.clear(); - primaryClusterIdCache.clear(); - suggestedPrimaryClusterIdCache.clear(); + clearAll(); } public static void closeAllMonitors() {