@@ -256,11 +256,13 @@ public void testThreadPoolStatsWithBackloggedMergeTasks() throws Exception {
256256 List <MergeTask > backloggedMergeTasksList = new ArrayList <>();
257257 for (int i = 0 ; i < totalMergeTasksCount ; i ++) {
258258 MergeTask mergeTask = mock (MergeTask .class );
259- boolean supportsIOThrottling = randomBoolean ();
260- when (mergeTask .supportsIOThrottling ()).thenReturn (supportsIOThrottling );
259+ when (mergeTask .supportsIOThrottling ()).thenReturn (randomBoolean ());
261260 boolean runNowOrBacklog = randomBoolean ();
262- when (mergeTask .runNowOrBacklog ()).thenReturn (runNowOrBacklog );
263- if (runNowOrBacklog == false ) {
261+ if (runNowOrBacklog ) {
262+ when (mergeTask .runNowOrBacklog ()).thenReturn (true );
263+ } else {
264+ // first backlog, then run
265+ when (mergeTask .runNowOrBacklog ()).thenReturn (false , true );
264266 backloggedMergeTasksList .add (mergeTask );
265267 }
266268 threadPoolMergeExecutorService .submitMergeTask (mergeTask );
@@ -276,10 +278,10 @@ public void testThreadPoolStatsWithBackloggedMergeTasks() throws Exception {
276278 assertThat (threadPoolExecutor .getActiveCount (), is (backloggedMergeTasksList .size ()));
277279 assertThat (threadPoolExecutor .getQueue ().size (), is (0 ));
278280 }
281+ assertThat (threadPoolMergeExecutorService .getQueuedMergeTasks ().size (), is (0 ));
279282 });
280- // re-enqueue backlogged merge tasks, and make them "runnable" now
283+ // re-enqueue backlogged merge tasks
281284 for (MergeTask backloggedMergeTask : backloggedMergeTasksList ) {
282- when (backloggedMergeTask .runNowOrBacklog ()).thenReturn (true );
283285 threadPoolMergeExecutorService .reEnqueueBackloggedMergeTask (backloggedMergeTask );
284286 }
285287 assertBusy (() -> {
0 commit comments