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,21 @@ 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 " 
105+                     + "and will be removed in a future release. See the breaking changes documentation for the next major version." 
106+             );
107+         }
101108        PathUtilsForTesting .teardown ();
102109        aFileStore  = null ;
103110        bFileStore  = null ;
104111        testThreadPool .close ();
105112        nodeEnvironment .close ();
106113    }
107114
108-     @ After 
109-     public  void  cleanupThreadPool () {
110-         testThreadPool .scheduledTasks .clear ();
111-     }
112- 
113115    static  class  TestCapturingThreadPool  extends  TestThreadPool  {
114116        final  List <Tuple <TimeValue , Cancellable >> scheduledTasks  = new  ArrayList <>();
115117
@@ -319,8 +321,6 @@ public void testDiskSpaceMonitorStartsAsDisabled() throws Exception {
319321                )
320322            );
321323        }
322-         aFileStore .throwIoException  = false ;
323-         bFileStore .throwIoException  = false ;
324324    }
325325
326326    public  void  testAvailableDiskSpaceMonitorWhenFileSystemStatErrors () throws  Exception  {
@@ -406,8 +406,6 @@ public void testAvailableDiskSpaceMonitorWhenFileSystemStatErrors() throws Excep
406406                }
407407            });
408408        }
409-         aFileStore .throwIoException  = false ;
410-         bFileStore .throwIoException  = false ;
411409    }
412410
413411    public  void  testAvailableDiskSpaceMonitorSettingsUpdate () throws  Exception  {
@@ -516,12 +514,6 @@ public void testAvailableDiskSpaceMonitorSettingsUpdate() throws Exception {
516514                }
517515            }, 5 , TimeUnit .SECONDS );
518516        }
519-         if  (setThreadPoolMergeSchedulerSetting ) {
520-             assertWarnings (
521-                 "[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch " 
522-                     + "and will be removed in a future release. See the breaking changes documentation for the next major version." 
523-             );
524-         }
525517    }
526518
527519    public  void  testAbortingOrRunningMergeTaskHoldsUpBudget () throws  Exception  {
@@ -564,7 +556,7 @@ public void testAbortingOrRunningMergeTaskHoldsUpBudget() throws Exception {
564556                testDoneLatch .await ();
565557                return  null ;
566558            }).when (stallingMergeTask ).abort ();
567-             threadPoolMergeExecutorService .submitMergeTask (stallingMergeTask );
559+             assertTrue ( threadPoolMergeExecutorService .submitMergeTask (stallingMergeTask ) );
568560            // assert the merge task is holding up disk space budget 
569561            expectedAvailableBudget .set (expectedAvailableBudget .get () - taskBudget );
570562            assertBusy (
@@ -574,7 +566,7 @@ public void testAbortingOrRunningMergeTaskHoldsUpBudget() throws Exception {
574566            ThreadPoolMergeScheduler .MergeTask  mergeTask  = mock (ThreadPoolMergeScheduler .MergeTask .class );
575567            when (mergeTask .estimatedRemainingMergeSize ()).thenReturn (randomLongBetween (0L , expectedAvailableBudget .get ()));
576568            when (mergeTask .schedule ()).thenReturn (RUN );
577-             threadPoolMergeExecutorService .submitMergeTask (mergeTask );
569+             assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask ) );
578570            assertBusy (() -> {
579571                verify (mergeTask ).schedule ();
580572                verify (mergeTask ).run ();
@@ -595,12 +587,6 @@ public void testAbortingOrRunningMergeTaskHoldsUpBudget() throws Exception {
595587                assertThat (threadPoolMergeExecutorService .allDone (), is (true ));
596588            });
597589        }
598-         if  (setThreadPoolMergeSchedulerSetting ) {
599-             assertWarnings (
600-                 "[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch " 
601-                     + "and will be removed in a future release. See the breaking changes documentation for the next major version." 
602-             );
603-         }
604590    }
605591
606592    public  void  testBackloggedMergeTasksDoNotHoldUpBudget () throws  Exception  {
@@ -654,7 +640,7 @@ && randomBoolean()) {
654640                    testDoneLatch .await ();
655641                    return  null ;
656642                }).when (mergeTask ).abort ();
657-                 threadPoolMergeExecutorService .submitMergeTask (mergeTask );
643+                 assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask ) );
658644                if  (mergeTask .schedule () == RUN ) {
659645                    runningMergeTasks .add (mergeTask );
660646                } else  {
@@ -679,7 +665,7 @@ && randomBoolean()) {
679665                        return  RUN ;
680666                    }
681667                }).when (mergeTask ).schedule ();
682-                 threadPoolMergeExecutorService .submitMergeTask (mergeTask );
668+                 assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask ) );
683669                backloggingMergeTasksScheduleCountMap .put (mergeTask , 1 );
684670            }
685671            int  checkRounds  = randomIntBetween (1 , 10 );
@@ -712,7 +698,7 @@ && randomBoolean()) {
712698                long  taskBudget  = randomLongBetween (1L , backloggedMergeTaskDiskSpaceBudget );
713699                when (mergeTask .estimatedRemainingMergeSize ()).thenReturn (taskBudget );
714700                when (mergeTask .schedule ()).thenReturn (RUN );
715-                 threadPoolMergeExecutorService .submitMergeTask (mergeTask );
701+                 assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask ) );
716702                assertBusy (() -> {
717703                    verify (mergeTask ).schedule ();
718704                    verify (mergeTask ).run ();
@@ -739,12 +725,6 @@ && randomBoolean()) {
739725                assertThat (threadPoolMergeExecutorService .allDone (), is (true ));
740726            });
741727        }
742-         if  (setThreadPoolMergeSchedulerSetting ) {
743-             assertWarnings (
744-                 "[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch " 
745-                     + "and will be removed in a future release. See the breaking changes documentation for the next major version." 
746-             );
747-         }
748728    }
749729
750730    public  void  testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution () throws  Exception  {
@@ -823,7 +803,7 @@ public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() thro
823803                    runningOrAbortingMergeTasksList .add (mergeTask );
824804                    latchesBlockingMergeTasksList .add (blockMergeTaskLatch );
825805                }
826-                 threadPoolMergeExecutorService .submitMergeTask (mergeTask );
806+                 assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask ) );
827807            }
828808            // currently running (or aborting) merge tasks have consumed some of the available budget 
829809            while  (runningOrAbortingMergeTasksList .isEmpty () == false ) {
@@ -855,8 +835,8 @@ public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() thro
855835                    // merge task 2 can run because it is under budget 
856836                    when (mergeTask2 .estimatedRemainingMergeSize ()).thenReturn (underBudget );
857837                }
858-                 threadPoolMergeExecutorService .submitMergeTask (mergeTask1 );
859-                 threadPoolMergeExecutorService .submitMergeTask (mergeTask2 );
838+                 assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask1 ) );
839+                 assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask2 ) );
860840                assertBusy (() -> {
861841                    if  (task1Runs ) {
862842                        verify (mergeTask1 ).schedule ();
@@ -890,12 +870,6 @@ public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() thro
890870            bFileStore .usableSpace  = Long .MAX_VALUE ;
891871            assertBusy (() -> assertThat (threadPoolMergeExecutorService .allDone (), is (true )));
892872        }
893-         if  (setThreadPoolMergeSchedulerSetting ) {
894-             assertWarnings (
895-                 "[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch " 
896-                     + "and will be removed in a future release. See the breaking changes documentation for the next major version." 
897-             );
898-         }
899873    }
900874
901875    public  void  testEnqueuedMergeTasksAreUnblockedWhenEstimatedMergeSizeChanges () throws  Exception  {
@@ -990,12 +964,6 @@ public void testEnqueuedMergeTasksAreUnblockedWhenEstimatedMergeSizeChanges() th
990964                }
991965            });
992966        }
993-         if  (setThreadPoolMergeSchedulerSetting ) {
994-             assertWarnings (
995-                 "[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch " 
996-                     + "and will be removed in a future release. See the breaking changes documentation for the next major version." 
997-             );
998-         }
999967    }
1000968
1001969    public  void  testMergeTasksAreUnblockedWhenMoreDiskSpaceBecomesAvailable () throws  Exception  {
@@ -1058,7 +1026,7 @@ public void testMergeTasksAreUnblockedWhenMoreDiskSpaceBecomesAvailable() throws
10581026                    testDoneLatch .await ();
10591027                    return  null ;
10601028                }).when (mergeTask ).abort ();
1061-                 threadPoolMergeExecutorService .submitMergeTask (mergeTask );
1029+                 assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask ) );
10621030                if  (mergeTask .schedule () == RUN ) {
10631031                    runningMergeTasks .add (mergeTask );
10641032                } else  {
@@ -1083,7 +1051,7 @@ public void testMergeTasksAreUnblockedWhenMoreDiskSpaceBecomesAvailable() throws
10831051                when (mergeTask .estimatedRemainingMergeSize ()).thenReturn (taskBudget );
10841052                Schedule  schedule  = randomFrom (RUN , ABORT );
10851053                when (mergeTask .schedule ()).thenReturn (schedule );
1086-                 threadPoolMergeExecutorService .submitMergeTask (mergeTask );
1054+                 assertTrue ( threadPoolMergeExecutorService .submitMergeTask (mergeTask ) );
10871055                if  (schedule  == RUN ) {
10881056                    overBudgetTasksToRunList .add (mergeTask );
10891057                } else  {
@@ -1150,11 +1118,5 @@ public void testMergeTasksAreUnblockedWhenMoreDiskSpaceBecomesAvailable() throws
11501118                );
11511119            });
11521120        }
1153-         if  (setThreadPoolMergeSchedulerSetting ) {
1154-             assertWarnings (
1155-                 "[indices.merge.scheduler.use_thread_pool] setting was deprecated in Elasticsearch " 
1156-                     + "and will be removed in a future release. See the breaking changes documentation for the next major version." 
1157-             );
1158-         }
11591121    }
11601122}
0 commit comments