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