You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2020/08/17 23:11:38 UTC
[lucene-solr] 08/49: @522 Don't interrupt par exec on shutdown and
reorg zkstatereader close a bit.
This is an automated email from the ASF dual-hosted git repository.
markrmiller pushed a commit to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
commit e0508909cbb12d1bbd8fab4b9bcd30c0d4ddbed6
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Wed Aug 12 00:25:27 2020 -0500
@522 Don't interrupt par exec on shutdown and reorg zkstatereader close a bit.
---
solr/solrj/src/java/org/apache/solr/common/ParWork.java | 1 -
.../src/java/org/apache/solr/common/cloud/ZkStateReader.java | 10 +++++++---
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/solr/solrj/src/java/org/apache/solr/common/ParWork.java b/solr/solrj/src/java/org/apache/solr/common/ParWork.java
index 31420f9..972a92b 100644
--- a/solr/solrj/src/java/org/apache/solr/common/ParWork.java
+++ b/solr/solrj/src/java/org/apache/solr/common/ParWork.java
@@ -102,7 +102,6 @@ public class ParWork implements Closeable {
public static void closeExecutor() {
ExecutorService exec = THREAD_LOCAL_EXECUTOR.get();
if (exec != null) {
- exec.shutdownNow();
ParWork.close(exec);
THREAD_LOCAL_EXECUTOR.set(null);
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
index 6812776..0a30995 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
@@ -847,16 +847,20 @@ public class ZkStateReader implements SolrCloseable {
this.closed = true;
try {
try (ParWork closer = new ParWork(this, false)) {
-
+ closer.collect(notifications);
+ closer.collect(() -> {
+ waitLatches.forEach((w) -> w.countDown());
+ });
closer
.add("notifications", notifications, () -> {
- waitLatches.forEach((w) -> w.countDown());
+
return null;
});
if (closeClient) {
- closer.add("zkClient", zkClient);
+ closer.collect(zkClient);
}
+ closer.addCollect("zkStateReaderInternals");
}
} finally {
assert ObjectReleaseTracker.release(this);