SOLR-8771: Multi-threaded core shutdown creates executor per core.

This commit is contained in:
Mark Miller 2016-03-01 12:13:56 -08:00
parent 6261767b33
commit 0f4f53a8f5
2 changed files with 9 additions and 7 deletions

View File

@ -231,6 +231,8 @@ Bug Fixes
* SOLR-8738: Fixed false success response when invalid deleteByQuery requests intially hit non-leader * SOLR-8738: Fixed false success response when invalid deleteByQuery requests intially hit non-leader
cloud nodes (hossman) cloud nodes (hossman)
* SOLR-8771: Multi-threaded core shutdown creates executor per core. (Mike Drob via Mark Miller)
Optimizations Optimizations
---------------------- ----------------------
* SOLR-7876: Speed up queries and operations that use many terms when timeAllowed has not been * SOLR-7876: Speed up queries and operations that use many terms when timeAllowed has not been

View File

@ -123,10 +123,10 @@ class SolrCores {
pendingCloses.clear(); pendingCloses.clear();
} }
for (SolrCore core : coreList) {
ExecutorService coreCloseExecutor = ExecutorUtil.newMDCAwareFixedThreadPool(Integer.MAX_VALUE, ExecutorService coreCloseExecutor = ExecutorUtil.newMDCAwareFixedThreadPool(Integer.MAX_VALUE,
new DefaultSolrThreadFactory("coreCloseExecutor")); new DefaultSolrThreadFactory("coreCloseExecutor"));
try { try {
for (SolrCore core : coreList) {
coreCloseExecutor.submit(new Callable<SolrCore>() { coreCloseExecutor.submit(new Callable<SolrCore>() {
@Override @Override
public SolrCore call() throws Exception { public SolrCore call() throws Exception {
@ -144,11 +144,11 @@ class SolrCores {
return core; return core;
} }
}); });
}
} finally { } finally {
ExecutorUtil.shutdownAndAwaitTermination(coreCloseExecutor); ExecutorUtil.shutdownAndAwaitTermination(coreCloseExecutor);
} }
}
} while (coreList.size() > 0); } while (coreList.size() > 0);
} }