diff --git a/muted-tests.yml b/muted-tests.yml index a92fa0a131920..324ff1bde4a1f 100644 --- a/muted-tests.yml +++ b/muted-tests.yml @@ -405,9 +405,6 @@ tests: - class: org.elasticsearch.xpack.esql.qa.single_node.GenerativeIT method: test issue: https://github.com/elastic/elasticsearch/issues/130067 -- class: org.elasticsearch.index.engine.ThreadPoolMergeExecutorServiceDiskSpaceTests - method: testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution - issue: https://github.com/elastic/elasticsearch/issues/130205 - class: org.elasticsearch.search.SearchWithRejectionsIT method: testOpenContextsAfterRejections issue: https://github.com/elastic/elasticsearch/issues/130821 diff --git a/server/src/test/java/org/elasticsearch/index/engine/ThreadPoolMergeExecutorServiceDiskSpaceTests.java b/server/src/test/java/org/elasticsearch/index/engine/ThreadPoolMergeExecutorServiceDiskSpaceTests.java index 9f34c56cf041e..cc8d56c2fb37b 100644 --- a/server/src/test/java/org/elasticsearch/index/engine/ThreadPoolMergeExecutorServiceDiskSpaceTests.java +++ b/server/src/test/java/org/elasticsearch/index/engine/ThreadPoolMergeExecutorServiceDiskSpaceTests.java @@ -771,16 +771,8 @@ public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() thro while (submittedMergesCount > 0 && expectedAvailableBudget.get() > 0L) { ThreadPoolMergeScheduler.MergeTask mergeTask = mock(ThreadPoolMergeScheduler.MergeTask.class); when(mergeTask.supportsIOThrottling()).thenReturn(randomBoolean()); - doAnswer(mock -> { - Schedule schedule = randomFrom(Schedule.values()); - if (schedule == BACKLOG) { - testThreadPool.executor(ThreadPool.Names.GENERIC).execute(() -> { - // re-enqueue backlogged merge task - threadPoolMergeExecutorService.reEnqueueBackloggedMergeTask(mergeTask); - }); - } - return schedule; - }).when(mergeTask).schedule(); + // avoid backlogging and re-enqueing merge tasks in this test because it makes the queue's available budget unsteady + when(mergeTask.schedule()).thenReturn(randomFrom(RUN, ABORT)); // let some task complete, which will NOT hold up any budget if (randomBoolean()) { // this task will NOT hold up any budget because it runs quickly (it is not blocked)