Skip to content

Commit 7f902a9

Browse files
Fix ThreadPoolMergeSchedulerTests
1 parent 98447ab commit 7f902a9

File tree

1 file changed

+23
-4
lines changed

1 file changed

+23
-4
lines changed

server/src/test/java/org/elasticsearch/index/engine/ThreadPoolMergeSchedulerTests.java

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import org.elasticsearch.common.settings.Settings;
1818
import org.elasticsearch.common.util.concurrent.DeterministicTaskQueue;
1919
import org.elasticsearch.common.util.concurrent.EsExecutors;
20+
import org.elasticsearch.env.NodeEnvironment;
2021
import org.elasticsearch.index.IndexSettings;
2122
import org.elasticsearch.index.MergeSchedulerConfig;
2223
import org.elasticsearch.index.engine.ThreadPoolMergeScheduler.MergeTask;
@@ -26,6 +27,7 @@
2627
import org.elasticsearch.test.IndexSettingsModule;
2728
import org.elasticsearch.threadpool.TestThreadPool;
2829
import org.elasticsearch.threadpool.ThreadPool;
30+
import org.junit.After;
2931
import org.mockito.ArgumentCaptor;
3032

3133
import java.io.IOException;
@@ -53,10 +55,24 @@
5355

5456
public class ThreadPoolMergeSchedulerTests extends ESTestCase {
5557

58+
private NodeEnvironment nodeEnvironment;
59+
60+
@After
61+
public void closeNodeEnv() {
62+
if (nodeEnvironment != null) {
63+
nodeEnvironment.close();
64+
nodeEnvironment = null;
65+
}
66+
}
67+
5668
public void testMergesExecuteInSizeOrder() throws IOException {
5769
DeterministicTaskQueue threadPoolTaskQueue = new DeterministicTaskQueue();
70+
Settings settings = Settings.builder()
71+
.put(ThreadPoolMergeExecutorService.INDICES_MERGE_DISK_CHECK_INTERVAL_SETTING.getKey(), "0")
72+
.build();
73+
nodeEnvironment = newNodeEnvironment(settings);
5874
ThreadPoolMergeExecutorService threadPoolMergeExecutorService = ThreadPoolMergeExecutorServiceTests
59-
.getThreadPoolMergeExecutorService(threadPoolTaskQueue.getThreadPool(), Settings.EMPTY, newNodeEnvironment(Settings.EMPTY));
75+
.getThreadPoolMergeExecutorService(threadPoolTaskQueue.getThreadPool(), settings, nodeEnvironment);
6076
try (
6177
ThreadPoolMergeScheduler threadPoolMergeScheduler = new ThreadPoolMergeScheduler(
6278
new ShardId("index", "_na_", 1),
@@ -345,9 +361,10 @@ public void testMergeSourceWithFollowUpMergesRunSequentially() throws Exception
345361
.put(EsExecutors.NODE_PROCESSORS_SETTING.getKey(), mergeExecutorThreadCount)
346362
.put(MergeSchedulerConfig.MAX_THREAD_COUNT_SETTING.getKey(), mergeExecutorThreadCount)
347363
.build();
364+
nodeEnvironment = newNodeEnvironment(settings);
348365
try (TestThreadPool testThreadPool = new TestThreadPool("test", settings)) {
349366
ThreadPoolMergeExecutorService threadPoolMergeExecutorService = ThreadPoolMergeExecutorServiceTests
350-
.getThreadPoolMergeExecutorService(testThreadPool, settings, newNodeEnvironment(settings));
367+
.getThreadPoolMergeExecutorService(testThreadPool, settings, nodeEnvironment);
351368
assertThat(threadPoolMergeExecutorService.getMaxConcurrentMerges(), equalTo(mergeExecutorThreadCount));
352369
try (
353370
ThreadPoolMergeScheduler threadPoolMergeScheduler = new ThreadPoolMergeScheduler(
@@ -418,9 +435,10 @@ public void testMergesRunConcurrently() throws Exception {
418435
.put(EsExecutors.NODE_PROCESSORS_SETTING.getKey(), mergeExecutorThreadCount)
419436
.put(MergeSchedulerConfig.MAX_THREAD_COUNT_SETTING.getKey(), mergeSchedulerMaxThreadCount)
420437
.build();
438+
nodeEnvironment = newNodeEnvironment(settings);
421439
try (TestThreadPool testThreadPool = new TestThreadPool("test", settings)) {
422440
ThreadPoolMergeExecutorService threadPoolMergeExecutorService = ThreadPoolMergeExecutorServiceTests
423-
.getThreadPoolMergeExecutorService(testThreadPool, settings, newNodeEnvironment(settings));
441+
.getThreadPoolMergeExecutorService(testThreadPool, settings, nodeEnvironment);
424442
assertThat(threadPoolMergeExecutorService.getMaxConcurrentMerges(), equalTo(mergeExecutorThreadCount));
425443
ThreadPoolExecutor threadPoolExecutor = (ThreadPoolExecutor) testThreadPool.executor(ThreadPool.Names.MERGE);
426444
try (
@@ -504,9 +522,10 @@ public void testSchedulerCloseWaitsForRunningMerge() throws Exception {
504522
.put(EsExecutors.NODE_PROCESSORS_SETTING.getKey(), mergeExecutorThreadCount)
505523
.put(MergeSchedulerConfig.MAX_THREAD_COUNT_SETTING.getKey(), mergeSchedulerMaxThreadCount)
506524
.build();
525+
nodeEnvironment = newNodeEnvironment(settings);
507526
try (TestThreadPool testThreadPool = new TestThreadPool("test", settings)) {
508527
ThreadPoolMergeExecutorService threadPoolMergeExecutorService = ThreadPoolMergeExecutorServiceTests
509-
.getThreadPoolMergeExecutorService(testThreadPool, settings, newNodeEnvironment(settings));
528+
.getThreadPoolMergeExecutorService(testThreadPool, settings, nodeEnvironment);
510529
assertThat(threadPoolMergeExecutorService.getMaxConcurrentMerges(), equalTo(mergeExecutorThreadCount));
511530
try (
512531
ThreadPoolMergeScheduler threadPoolMergeScheduler = new ThreadPoolMergeScheduler(

0 commit comments

Comments
 (0)