From b94fbbe8f9bda2091ac846b2bd644d45f4144219 Mon Sep 17 00:00:00 2001 From: Little-Wallace Date: Wed, 23 Jun 2021 14:21:47 +0800 Subject: [PATCH 1/2] fix not stop scheduler Signed-off-by: Little-Wallace --- src/main/java/org/tikv/common/TiSession.java | 8 ++++++-- src/main/java/org/tikv/common/region/RegionManager.java | 6 ++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/tikv/common/TiSession.java b/src/main/java/org/tikv/common/TiSession.java index 749db0dc6c8..ddb4d8659ad 100644 --- a/src/main/java/org/tikv/common/TiSession.java +++ b/src/main/java/org/tikv/common/TiSession.java @@ -196,7 +196,7 @@ public Catalog getCatalog() { return res; } - public synchronized RegionManager getRegionManager() { + public RegionManager getRegionManager() { RegionManager res = regionManager; if (res == null) { synchronized (this) { @@ -473,7 +473,11 @@ public synchronized void close() throws Exception { synchronized (sessionCachedMap) { sessionCachedMap.remove(conf.getPdAddrsString()); } - + synchronized (this) { + 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 128509408cc..5f0fe0ba6fe 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 RegionManager(ReadOnlyPDClient pdClient) { this.executor = null; } + public synchronized void close() { + if (this.executor != null) { + this.executor.shutdownNow(); + } + } + public Function getCacheInvalidateCallback() { return cacheInvalidateCallback; } From 89d85561a9dd818869145a20677a4ea3412704e1 Mon Sep 17 00:00:00 2001 From: Little-Wallace Date: Wed, 23 Jun 2021 14:58:46 +0800 Subject: [PATCH 2/2] address comment Signed-off-by: Little-Wallace --- src/main/java/org/tikv/common/TiSession.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/tikv/common/TiSession.java b/src/main/java/org/tikv/common/TiSession.java index ddb4d8659ad..8c1a83d8e63 100644 --- a/src/main/java/org/tikv/common/TiSession.java +++ b/src/main/java/org/tikv/common/TiSession.java @@ -473,10 +473,8 @@ public synchronized void close() throws Exception { synchronized (sessionCachedMap) { sessionCachedMap.remove(conf.getPdAddrsString()); } - synchronized (this) { - if (regionManager != null) { - regionManager.close(); - } + if (regionManager != null) { + regionManager.close(); } if (tableScanThreadPool != null) { tableScanThreadPool.shutdownNow();