From afa159de674eeded723d389183f671d042be9aa4 Mon Sep 17 00:00:00 2001 From: Andrea Cavalli Date: Thu, 16 Jun 2022 18:40:17 +0200 Subject: [PATCH] Reduce executors count --- .../database/disk/CachedIndexSearcherManager.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/it/cavallium/dbengine/database/disk/CachedIndexSearcherManager.java b/src/main/java/it/cavallium/dbengine/database/disk/CachedIndexSearcherManager.java index e43a606..7071bec 100644 --- a/src/main/java/it/cavallium/dbengine/database/disk/CachedIndexSearcherManager.java +++ b/src/main/java/it/cavallium/dbengine/database/disk/CachedIndexSearcherManager.java @@ -36,12 +36,12 @@ import reactor.core.scheduler.Schedulers; public class CachedIndexSearcherManager implements IndexSearcherManager { private static final Logger LOG = LogManager.getLogger(CachedIndexSearcherManager.class); - private final ExecutorService searchExecutor = Executors.newFixedThreadPool( + private static final ExecutorService SEARCH_EXECUTOR = Executors.newFixedThreadPool( Runtime.getRuntime().availableProcessors(), new ShortNamedThreadFactory("lucene-search") .setDaemon(true).withGroup(new ThreadGroup("lucene-search")) ); - private final SearcherFactory SEARCHER_FACTORY = new ExecutorSearcherFactory(searchExecutor); + private static final SearcherFactory SEARCHER_FACTORY = new ExecutorSearcherFactory(SEARCH_EXECUTOR); private final SnapshotsManager snapshotsManager; private final Scheduler luceneHeavyTasksScheduler; @@ -128,11 +128,11 @@ public class CachedIndexSearcherManager implements IndexSearcherManager { LOG.debug("Stopping searcher executor..."); cachedSnapshotSearchers.invalidateAll(); cachedSnapshotSearchers.cleanUp(); - searchExecutor.shutdown(); + SEARCH_EXECUTOR.shutdown(); try { //noinspection BlockingMethodInNonBlockingContext - if (!searchExecutor.awaitTermination(15, TimeUnit.SECONDS)) { - searchExecutor.shutdownNow(); + if (!SEARCH_EXECUTOR.awaitTermination(15, TimeUnit.SECONDS)) { + SEARCH_EXECUTOR.shutdownNow(); } } catch (InterruptedException e) { LOG.error("Failed to stop executor", e); @@ -155,7 +155,7 @@ public class CachedIndexSearcherManager implements IndexSearcherManager { indexSearcher = searcherManager.acquire(); fromSnapshot = false; } else { - indexSearcher = snapshotsManager.resolveSnapshot(snapshot).getIndexSearcher(searchExecutor); + indexSearcher = snapshotsManager.resolveSnapshot(snapshot).getIndexSearcher(SEARCH_EXECUTOR); fromSnapshot = true; } indexSearcher.setSimilarity(similarity);