Skip to content

Commit 62fbc7b

Browse files
Fix 129148
1 parent 98a6354 commit 62fbc7b

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

muted-tests.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -476,9 +476,6 @@ tests:
476476
- class: org.elasticsearch.index.engine.ThreadPoolMergeExecutorServiceDiskSpaceTests
477477
method: testAvailableDiskSpaceMonitorWhenFileSystemStatErrors
478478
issue: https://github.com/elastic/elasticsearch/issues/129149
479-
- class: org.elasticsearch.index.engine.ThreadPoolMergeExecutorServiceDiskSpaceTests
480-
method: testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution
481-
issue: https://github.com/elastic/elasticsearch/issues/129148
482479
- class: org.elasticsearch.xpack.esql.qa.single_node.GenerativeForkIT
483480
method: test {lookup-join.EnrichLookupStatsBug ASYNC}
484481
issue: https://github.com/elastic/elasticsearch/issues/129228

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -847,6 +847,7 @@ public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() thro
847847
when(mergeTask2.schedule()).thenReturn(RUN);
848848
boolean task1Runs = randomBoolean();
849849
long currentAvailableBudget = expectedAvailableBudget.get();
850+
// the over-budget here can be larger than the total initial available budget
850851
long overBudget = randomLongBetween(currentAvailableBudget + 1L, currentAvailableBudget + 100L);
851852
long underBudget = randomLongBetween(0L, currentAvailableBudget);
852853
if (task1Runs) {
@@ -882,11 +883,13 @@ public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() thro
882883
// update the expected budget given that one task now finished
883884
expectedAvailableBudget.set(expectedAvailableBudget.get() + completedMergeTask.estimatedRemainingMergeSize());
884885
}
885-
// let the test finish cleanly
886-
assertBusy(() -> {
887-
assertThat(threadPoolMergeExecutorService.getDiskSpaceAvailableForNewMergeTasks(), is(aHasMoreSpace ? 112_500L : 103_000L));
888-
assertThat(threadPoolMergeExecutorService.allDone(), is(true));
889-
});
886+
assertBusy(() -> assertThat(threadPoolMergeExecutorService.getDiskSpaceAvailableForNewMergeTasks(), is(aHasMoreSpace ? 112_500L : 103_000L)));
887+
// let the test finish cleanly (some tasks can be over budget even if all the other tasks finished running)
888+
aFileStore.totalSpace = Long.MAX_VALUE;
889+
bFileStore.totalSpace = Long.MAX_VALUE;
890+
aFileStore.usableSpace = Long.MAX_VALUE;
891+
bFileStore.usableSpace = Long.MAX_VALUE;
892+
assertBusy(() -> assertThat(threadPoolMergeExecutorService.allDone(), is(true)));
890893
}
891894
if (setThreadPoolMergeSchedulerSetting) {
892895
assertWarnings(

0 commit comments

Comments
 (0)