Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions muted-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -476,9 +476,6 @@ tests:
- class: org.elasticsearch.index.engine.ThreadPoolMergeExecutorServiceDiskSpaceTests
method: testAvailableDiskSpaceMonitorWhenFileSystemStatErrors
issue: https://github.com/elastic/elasticsearch/issues/129149
- class: org.elasticsearch.index.engine.ThreadPoolMergeExecutorServiceDiskSpaceTests
method: testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution
issue: https://github.com/elastic/elasticsearch/issues/129148
- class: org.elasticsearch.xpack.esql.qa.single_node.GenerativeForkIT
method: test {lookup-join.EnrichLookupStatsBug ASYNC}
issue: https://github.com/elastic/elasticsearch/issues/129228
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -847,6 +847,7 @@ public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() thro
when(mergeTask2.schedule()).thenReturn(RUN);
boolean task1Runs = randomBoolean();
long currentAvailableBudget = expectedAvailableBudget.get();
// the over-budget here can be larger than the total initial available budget
long overBudget = randomLongBetween(currentAvailableBudget + 1L, currentAvailableBudget + 100L);
long underBudget = randomLongBetween(0L, currentAvailableBudget);
if (task1Runs) {
Expand Down Expand Up @@ -882,11 +883,18 @@ public void testUnavailableBudgetBlocksNewMergeTasksFromStartingExecution() thro
// update the expected budget given that one task now finished
expectedAvailableBudget.set(expectedAvailableBudget.get() + completedMergeTask.estimatedRemainingMergeSize());
}
// let the test finish cleanly
assertBusy(() -> {
assertThat(threadPoolMergeExecutorService.getDiskSpaceAvailableForNewMergeTasks(), is(aHasMoreSpace ? 112_500L : 103_000L));
assertThat(threadPoolMergeExecutorService.allDone(), is(true));
});
assertBusy(
() -> assertThat(
threadPoolMergeExecutorService.getDiskSpaceAvailableForNewMergeTasks(),
is(aHasMoreSpace ? 112_500L : 103_000L)
)
);
// let the test finish cleanly (some tasks can be over budget even if all the other tasks finished running)
aFileStore.totalSpace = Long.MAX_VALUE;
bFileStore.totalSpace = Long.MAX_VALUE;
aFileStore.usableSpace = Long.MAX_VALUE;
bFileStore.usableSpace = Long.MAX_VALUE;
assertBusy(() -> assertThat(threadPoolMergeExecutorService.allDone(), is(true)));
}
if (setThreadPoolMergeSchedulerSetting) {
assertWarnings(
Expand Down