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/07/14 17:01:56 UTC
[lucene-solr] 01/02: #149 - Fix this right.
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 23299e10f0ae05ab26f5ab7fdb2edcdebf4ff73b
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Jul 14 12:00:33 2020 -0500
#149 - Fix this right.
---
solr/core/src/java/org/apache/solr/core/CoreContainer.java | 13 +------------
.../org/apache/solr/common/util/SolrNamedThreadFactory.java | 9 ++++++++-
2 files changed, 9 insertions(+), 13 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
index 08edb27..b1d2d44 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
@@ -193,21 +193,10 @@ public class CoreContainer implements Closeable {
private volatile UpdateShardHandler updateShardHandler;
- private final static ThreadPoolExecutor solrCoreLoadExecutor = new ThreadPoolExecutor(0, Integer.MAX_VALUE,
+ private final static ThreadPoolExecutor solrCoreLoadExecutor = new ExecutorUtil.MDCAwareThreadPoolExecutor(0, Integer.MAX_VALUE,
3, TimeUnit.SECONDS,
new SynchronousQueue<>(),
new SolrNamedThreadFactory("SolrCoreLoader"));
- static {
- solrCoreLoadExecutor.setThreadFactory(new ThreadFactory() {
- @Override
- public Thread newThread(Runnable runnable) {
- Thread t = new Thread(runnable);
- t.setDaemon(true);
- t.setName("SolrCoreLoader");
- return t;
- }
- });
- }
private final OrderedExecutor replayUpdatesExecutor;
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/SolrNamedThreadFactory.java b/solr/solrj/src/java/org/apache/solr/common/util/SolrNamedThreadFactory.java
index 7995757..c596bbb 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/SolrNamedThreadFactory.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/SolrNamedThreadFactory.java
@@ -27,14 +27,21 @@ public class SolrNamedThreadFactory implements ThreadFactory {
private final ThreadGroup group;
private final AtomicInteger threadNumber = new AtomicInteger(1);
private final String prefix;
+ private final boolean daemon;
+
public SolrNamedThreadFactory(String namePrefix) {
+ this(namePrefix, false);
+ }
+
+ public SolrNamedThreadFactory(String namePrefix, boolean daemon) {
SecurityManager s = System.getSecurityManager();
group = (s != null)? s.getThreadGroup() :
Thread.currentThread().getThreadGroup();
prefix = namePrefix + "-" +
poolNumber.getAndIncrement() +
"-thread-";
+ this.daemon = daemon;
}
@Override
@@ -43,7 +50,7 @@ public class SolrNamedThreadFactory implements ThreadFactory {
prefix + threadNumber.getAndIncrement(),
0);
- t.setDaemon(false);
+ t.setDaemon(daemon);
if (t.getPriority() != Thread.NORM_PRIORITY)
t.setPriority(Thread.NORM_PRIORITY);