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/05 19:48:06 UTC

[lucene-solr] branch reference_impl_dev updated: @749 Try this reorder.

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 c2db143  @749 Try this reorder.
c2db143 is described below

commit c2db1432631890fb140c637da376227963422742
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Sat Sep 5 14:47:29 2020 -0500

    @749 Try this reorder.
---
 solr/core/src/java/org/apache/solr/core/SolrCore.java | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/core/SolrCore.java b/solr/core/src/java/org/apache/solr/core/SolrCore.java
index 1c3205a..291a5af 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCore.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCore.java
@@ -1602,8 +1602,6 @@ public final class SolrCore implements SolrInfoBean, Closeable {
       }
 
       this.isClosed = true;
-      searcherExecutor.shutdown();
-      assert ObjectReleaseTracker.release(searcherExecutor);
 
       closer.collect("snapshotsDir", () -> {
         Directory snapshotsDir = snapshotMgr.getSnapshotsDir();
@@ -1650,6 +1648,14 @@ public final class SolrCore implements SolrInfoBean, Closeable {
       closer.collect("SolrCoreInternals", closeCalls);
       closer.addCollect();
 
+
+      closer.collect("searcherExecutor#shutdown", () -> {
+        searcherExecutor.shutdown();
+        return solrCoreState;
+      });
+
+      assert ObjectReleaseTracker.release(searcherExecutor);
+
       closer.collect(updateHandler);
 
       closer.addCollect();
@@ -1880,7 +1886,7 @@ public final class SolrCore implements SolrInfoBean, Closeable {
   private final LinkedList<RefCounted<SolrIndexSearcher>> _searchers = new LinkedList<>();
   private final LinkedList<RefCounted<SolrIndexSearcher>> _realtimeSearchers = new LinkedList<>();
 
-  final ExecutorService searcherExecutor = new ParWorkExecutor("searcherExecutor", 1, 1, 0, new ArrayBlockingQueue(4, true));
+  final ExecutorService searcherExecutor = new ParWorkExecutor("searcherExecutor", 1, 1, 0, new ArrayBlockingQueue(6, true));
   private AtomicInteger onDeckSearchers = new AtomicInteger();  // number of searchers preparing
   // Lock ordering: one can acquire the openSearcherLock and then the searcherLock, but not vice-versa.
   private final Object searcherLock = new Object();  // the sync object for the searcher