From 9570a5d5edc3b560a548c026aa21ae43511a5c7c Mon Sep 17 00:00:00 2001 From: rodenli Date: Thu, 5 Sep 2024 20:18:07 +0800 Subject: [PATCH] HBASE-28669 After one RegionServer restarts, another RegionServer leaks a connection to ZooKeeper Co-authored-by: Duo Zhang Signed-off-by: Duo Zhang --- .../replication/regionserver/RecoveredReplicationSource.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.java index b615eed7d538..3dd2ead54a6a 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/RecoveredReplicationSource.java @@ -149,6 +149,9 @@ void tryFinish() { boolean allTasksDone = workerThreads.values().stream().allMatch(w -> w.isFinished()); if (allTasksDone) { this.getSourceMetrics().clear(); + if (this.getReplicationEndpoint() != null) { + this.getReplicationEndpoint().stop(); + } manager.removeRecoveredSource(this); LOG.info("Finished recovering queue {} with the following stats: {}", queueId, getStats()); }