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/09/08 04:14:19 UTC
[lucene-solr] 02/05: @802 Tweak http2client scheduler.
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
commit 106845b85d8221f0ea281e373eef57d22f4cb865
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Mon Sep 7 22:59:51 2020 -0500
@802 Tweak http2client scheduler.
---
.../src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java | 6 +++++-
.../org/apache/solr/common/util/SolrScheduledExecutorScheduler.java | 3 ++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
index e51b324..44b3803 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2SolrClient.java
@@ -231,7 +231,11 @@ public class Http2SolrClient extends SolrClient {
httpClient.setIdleTimeout(idleTimeout);
try {
- httpClient.setScheduler(new SolrScheduledExecutorScheduler("http2client-scheduler"));
+ SecurityManager s = System.getSecurityManager();
+ ThreadGroup group = (s != null) ? s.getThreadGroup() : Thread.currentThread().getThreadGroup();
+ SolrScheduledExecutorScheduler scheduler = new SolrScheduledExecutorScheduler("http2client-scheduler", null, group);
+ httpClient.setScheduler(scheduler);
+ httpClient.manage(scheduler);
httpClient.setExecutor(httpClientExecutor);
httpClient.setStrictEventOrdering(true);
httpClient.setConnectBlocking(false);
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/SolrScheduledExecutorScheduler.java b/solr/solrj/src/java/org/apache/solr/common/util/SolrScheduledExecutorScheduler.java
index 078930c..ff46319 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/SolrScheduledExecutorScheduler.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/SolrScheduledExecutorScheduler.java
@@ -100,8 +100,9 @@ public class SolrScheduledExecutorScheduler extends AbstractLifeCycle implements
protected void doStop() throws Exception {
ScheduledThreadPoolExecutor fscheduler = scheduler;
if (fscheduler != null) {
- fscheduler.shutdownNow();
+ fscheduler.shutdown();
super.doStop();
+ fscheduler.shutdownNow();
ExecutorUtil.awaitTermination(fscheduler);
}
scheduler = null;