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/11 10:54:10 UTC
[lucene-solr] branch reference_impl_dev updated: @505 Keep playing
with executor shutdown.
This is an automated email from the ASF dual-hosted git repository.
markrmiller pushed a commit to branch reference_impl_dev
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/reference_impl_dev by this push:
new 1d7c7b9 @505 Keep playing with executor shutdown.
1d7c7b9 is described below
commit 1d7c7b9d9216be31d653bc4b2a97c20625a2e9db
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Aug 11 05:53:16 2020 -0500
@505 Keep playing with executor shutdown.
---
solr/solrj/src/java/org/apache/solr/common/ParWork.java | 1 +
solr/solrj/src/java/org/apache/solr/common/ParWorkExecutor.java | 5 +++++
2 files changed, 6 insertions(+)
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 259c9ea..6cdb655 100644
--- a/solr/solrj/src/java/org/apache/solr/common/ParWork.java
+++ b/solr/solrj/src/java/org/apache/solr/common/ParWork.java
@@ -638,6 +638,7 @@ public class ParWork implements Closeable {
ThreadPoolExecutor exec;
exec = new ParWorkExecutor("ParWork-" + Thread.currentThread().getName(),
corePoolSize, Integer.MAX_VALUE, keepAliveTime);
+
return exec;
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/ParWorkExecutor.java b/solr/solrj/src/java/org/apache/solr/common/ParWorkExecutor.java
index 437d7c4..95373a4 100644
--- a/solr/solrj/src/java/org/apache/solr/common/ParWorkExecutor.java
+++ b/solr/solrj/src/java/org/apache/solr/common/ParWorkExecutor.java
@@ -11,6 +11,7 @@ import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.locks.ReentrantLock;
public class ParWorkExecutor extends ExecutorUtil.MDCAwareThreadPoolExecutor {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -63,7 +64,11 @@ public class ParWorkExecutor extends ExecutorUtil.MDCAwareThreadPoolExecutor {
});
setRejectedExecutionHandler(new CallerRunsPolicy());
+ }
+ public void shutdown() {
allowCoreThreadTimeOut(true);
+ setKeepAliveTime(1, TimeUnit.NANOSECONDS);
+ super.shutdown();
}
}