2727import org .elasticsearch .threadpool .TestThreadPool ;
2828import org .elasticsearch .threadpool .ThreadPool ;
2929import org .junit .After ;
30- import org .junit .AfterClass ;
31- import org .junit .BeforeClass ;
30+ import org .junit .Before ;
3231
3332import java .io .IOException ;
3433import java .nio .file .FileStore ;
5958
6059public class ThreadPoolMergeExecutorServiceDiskSpaceTests extends ESTestCase {
6160
62- private static TestMockFileStore aFileStore = new TestMockFileStore ( "mocka" ) ;
63- private static TestMockFileStore bFileStore = new TestMockFileStore ( "mockb" ) ;
61+ private static TestMockFileStore aFileStore ;
62+ private static TestMockFileStore bFileStore ;
6463 private static String aPathPart ;
6564 private static String bPathPart ;
6665 private static int mergeExecutorThreadCount ;
@@ -69,8 +68,10 @@ public class ThreadPoolMergeExecutorServiceDiskSpaceTests extends ESTestCase {
6968 private static NodeEnvironment nodeEnvironment ;
7069 private static boolean setThreadPoolMergeSchedulerSetting ;
7170
72- @ BeforeClass
73- public static void installMockUsableSpaceFS () throws Exception {
71+ @ Before
72+ public void setupTestEnv () throws Exception {
73+ aFileStore = new TestMockFileStore ("mocka" );
74+ bFileStore = new TestMockFileStore ("mockb" );
7475 FileSystem current = PathUtils .getDefaultFileSystem ();
7576 aPathPart = "a-" + randomUUID ();
7677 bPathPart = "b-" + randomUUID ();
@@ -96,20 +97,20 @@ public static void installMockUsableSpaceFS() throws Exception {
9697 nodeEnvironment = new NodeEnvironment (settings , TestEnvironment .newEnvironment (settings ));
9798 }
9899
99- @ AfterClass
100- public static void removeMockUsableSpaceFS () {
100+ @ After
101+ public void removeMockUsableSpaceFS () {
102+ if (setThreadPoolMergeSchedulerSetting ) {
103+ assertWarnings (
104+ "[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch and will be removed in a future release."
105+ );
106+ }
101107 PathUtilsForTesting .teardown ();
102108 aFileStore = null ;
103109 bFileStore = null ;
104110 testThreadPool .close ();
105111 nodeEnvironment .close ();
106112 }
107113
108- @ After
109- public void cleanupThreadPool () {
110- testThreadPool .scheduledTasks .clear ();
111- }
112-
113114 static class TestCapturingThreadPool extends TestThreadPool {
114115 final List <Tuple <TimeValue , Cancellable >> scheduledTasks = new ArrayList <>();
115116
@@ -319,8 +320,6 @@ public void testDiskSpaceMonitorStartsAsDisabled() throws Exception {
319320 )
320321 );
321322 }
322- aFileStore .throwIoException = false ;
323- bFileStore .throwIoException = false ;
324323 }
325324
326325 public void testAvailableDiskSpaceMonitorWhenFileSystemStatErrors () throws Exception {
@@ -406,8 +405,6 @@ public void testAvailableDiskSpaceMonitorWhenFileSystemStatErrors() throws Excep
406405 }
407406 });
408407 }
409- aFileStore .throwIoException = false ;
410- bFileStore .throwIoException = false ;
411408 }
412409
413410 public void testAvailableDiskSpaceMonitorSettingsUpdate () throws Exception {
@@ -516,11 +513,6 @@ public void testAvailableDiskSpaceMonitorSettingsUpdate() throws Exception {
516513 }
517514 }, 5 , TimeUnit .SECONDS );
518515 }
519- if (setThreadPoolMergeSchedulerSetting ) {
520- assertWarnings (
521- "[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch and will be removed in a future release."
522- );
523- }
524516 }
525517
526518 public void testAbortingOrRunningMergeTaskHoldsUpBudget () throws Exception {
@@ -563,7 +555,7 @@ public void testAbortingOrRunningMergeTaskHoldsUpBudget() throws Exception {
563555 testDoneLatch .await ();
564556 return null ;
565557 }).when (stallingMergeTask ).abort ();
566- threadPoolMergeExecutorService .submitMergeTask (stallingMergeTask );
558+ assertTrue ( threadPoolMergeExecutorService .submitMergeTask (stallingMergeTask ) );
567559 // assert the merge task is holding up disk space budget
568560 expectedAvailableBudget .set (expectedAvailableBudget .get () - taskBudget );
569561 assertBusy (
@@ -573,7 +565,7 @@ public void testAbortingOrRunningMergeTaskHoldsUpBudget() throws Exception {
573565 ThreadPoolMergeScheduler .MergeTask mergeTask = mock (ThreadPoolMergeScheduler .MergeTask .class );
574566 when (mergeTask .estimatedRemainingMergeSize ()).thenReturn (randomLongBetween (0L , expectedAvailableBudget .get ()));
575567 when (mergeTask .schedule ()).thenReturn (RUN );
576- threadPoolMergeExecutorService .submitMergeTask (mergeTask );
568+ assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask ) );
577569 assertBusy (() -> {
578570 verify (mergeTask ).schedule ();
579571 verify (mergeTask ).run ();
@@ -594,11 +586,6 @@ public void testAbortingOrRunningMergeTaskHoldsUpBudget() throws Exception {
594586 assertThat (threadPoolMergeExecutorService .allDone (), is (true ));
595587 });
596588 }
597- if (setThreadPoolMergeSchedulerSetting ) {
598- assertWarnings (
599- "[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch and will be removed in a future release."
600- );
601- }
602589 }
603590
604591 public void testBackloggedMergeTasksDoNotHoldUpBudget () throws Exception {
@@ -652,7 +639,7 @@ && randomBoolean()) {
652639 testDoneLatch .await ();
653640 return null ;
654641 }).when (mergeTask ).abort ();
655- threadPoolMergeExecutorService .submitMergeTask (mergeTask );
642+ assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask ) );
656643 if (mergeTask .schedule () == RUN ) {
657644 runningMergeTasks .add (mergeTask );
658645 } else {
@@ -677,7 +664,7 @@ && randomBoolean()) {
677664 return RUN ;
678665 }
679666 }).when (mergeTask ).schedule ();
680- threadPoolMergeExecutorService .submitMergeTask (mergeTask );
667+ assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask ) );
681668 backloggingMergeTasksScheduleCountMap .put (mergeTask , 1 );
682669 }
683670 int checkRounds = randomIntBetween (1 , 10 );
@@ -710,7 +697,7 @@ && randomBoolean()) {
710697 long taskBudget = randomLongBetween (1L , backloggedMergeTaskDiskSpaceBudget );
711698 when (mergeTask .estimatedRemainingMergeSize ()).thenReturn (taskBudget );
712699 when (mergeTask .schedule ()).thenReturn (RUN );
713- threadPoolMergeExecutorService .submitMergeTask (mergeTask );
700+ assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask ) );
714701 assertBusy (() -> {
715702 verify (mergeTask ).schedule ();
716703 verify (mergeTask ).run ();
@@ -737,11 +724,6 @@ && randomBoolean()) {
737724 assertThat (threadPoolMergeExecutorService .allDone (), is (true ));
738725 });
739726 }
740- if (setThreadPoolMergeSchedulerSetting ) {
741- assertWarnings (
742- "[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch and will be removed in a future release."
743- );
744- }
745727 }
746728
747729 public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution () throws Exception {
@@ -820,7 +802,7 @@ public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() thro
820802 runningOrAbortingMergeTasksList .add (mergeTask );
821803 latchesBlockingMergeTasksList .add (blockMergeTaskLatch );
822804 }
823- threadPoolMergeExecutorService .submitMergeTask (mergeTask );
805+ assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask ) );
824806 }
825807 // currently running (or aborting) merge tasks have consumed some of the available budget
826808 while (runningOrAbortingMergeTasksList .isEmpty () == false ) {
@@ -852,8 +834,8 @@ public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() thro
852834 // merge task 2 can run because it is under budget
853835 when (mergeTask2 .estimatedRemainingMergeSize ()).thenReturn (underBudget );
854836 }
855- threadPoolMergeExecutorService .submitMergeTask (mergeTask1 );
856- threadPoolMergeExecutorService .submitMergeTask (mergeTask2 );
837+ assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask1 ) );
838+ assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask2 ) );
857839 assertBusy (() -> {
858840 if (task1Runs ) {
859841 verify (mergeTask1 ).schedule ();
@@ -887,11 +869,6 @@ public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() thro
887869 bFileStore .usableSpace = Long .MAX_VALUE ;
888870 assertBusy (() -> assertThat (threadPoolMergeExecutorService .allDone (), is (true )));
889871 }
890- if (setThreadPoolMergeSchedulerSetting ) {
891- assertWarnings (
892- "[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch and will be removed in a future release."
893- );
894- }
895872 }
896873
897874 public void testEnqueuedMergeTasksAreUnblockedWhenEstimatedMergeSizeChanges () throws Exception {
@@ -986,11 +963,6 @@ public void testEnqueuedMergeTasksAreUnblockedWhenEstimatedMergeSizeChanges() th
986963 }
987964 });
988965 }
989- if (setThreadPoolMergeSchedulerSetting ) {
990- assertWarnings (
991- "[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch and will be removed in a future release."
992- );
993- }
994966 }
995967
996968 public void testMergeTasksAreUnblockedWhenMoreDiskSpaceBecomesAvailable () throws Exception {
@@ -1053,7 +1025,7 @@ public void testMergeTasksAreUnblockedWhenMoreDiskSpaceBecomesAvailable() throws
10531025 testDoneLatch .await ();
10541026 return null ;
10551027 }).when (mergeTask ).abort ();
1056- threadPoolMergeExecutorService .submitMergeTask (mergeTask );
1028+ assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask ) );
10571029 if (mergeTask .schedule () == RUN ) {
10581030 runningMergeTasks .add (mergeTask );
10591031 } else {
@@ -1078,7 +1050,7 @@ public void testMergeTasksAreUnblockedWhenMoreDiskSpaceBecomesAvailable() throws
10781050 when (mergeTask .estimatedRemainingMergeSize ()).thenReturn (taskBudget );
10791051 Schedule schedule = randomFrom (RUN , ABORT );
10801052 when (mergeTask .schedule ()).thenReturn (schedule );
1081- threadPoolMergeExecutorService .submitMergeTask (mergeTask );
1053+ assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask ) );
10821054 if (schedule == RUN ) {
10831055 overBudgetTasksToRunList .add (mergeTask );
10841056 } else {
@@ -1145,11 +1117,6 @@ public void testMergeTasksAreUnblockedWhenMoreDiskSpaceBecomesAvailable() throws
11451117 );
11461118 });
11471119 }
1148- if (setThreadPoolMergeSchedulerSetting ) {
1149- assertWarnings (
1150- "[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch and will be removed in a future release."
1151- );
1152- }
11531120 }
11541121
11551122 private static <T > T getLast (final Iterable <T > elements ) {
0 commit comments