From 05f1559eab705aca0cce0dcd57ae478c6edd355a Mon Sep 17 00:00:00 2001 From: ti-srebot <66930949+ti-srebot@users.noreply.github.com> Date: Wed, 23 Jun 2021 21:53:42 +0800 Subject: [PATCH] cherry pick #207 to release-3.1 (#210) Signed-off-by: ti-srebot Co-authored-by: Wallace Co-authored-by: birdstorm --- src/main/java/org/tikv/common/TiSession.java | 6 ++++-- src/main/java/org/tikv/common/region/RegionManager.java | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/tikv/common/TiSession.java b/src/main/java/org/tikv/common/TiSession.java index c647f7731c..67062db87e 100644 --- a/src/main/java/org/tikv/common/TiSession.java +++ b/src/main/java/org/tikv/common/TiSession.java @@ -197,7 +197,7 @@ public class TiSession implements AutoCloseable { return res; } - public synchronized RegionManager getRegionManager() { + public RegionManager getRegionManager() { RegionManager res = regionManager; if (res == null) { synchronized (this) { @@ -474,7 +474,9 @@ public class TiSession implements AutoCloseable { synchronized (sessionCachedMap) { sessionCachedMap.remove(conf.getPdAddrsString()); } - + if (regionManager != null) { + regionManager.close(); + } if (tableScanThreadPool != null) { tableScanThreadPool.shutdownNow(); } diff --git a/src/main/java/org/tikv/common/region/RegionManager.java b/src/main/java/org/tikv/common/region/RegionManager.java index 886a07ec87..937bd15cea 100644 --- a/src/main/java/org/tikv/common/region/RegionManager.java +++ b/src/main/java/org/tikv/common/region/RegionManager.java @@ -99,6 +99,12 @@ public class RegionManager { this.executor = null; } + public synchronized void close() { + if (this.executor != null) { + this.executor.shutdownNow(); + } + } + public Function getCacheInvalidateCallback() { return cacheInvalidateCallback; }