Skip to content

Commit 0da1f69

Browse files
Fix ThreadPoolMergeExecutorServiceDiskSpaceTests testAbortingOrRunningMergeTaskHoldsUpBudget (#129979) (#130005)
When there are multiple FS with the same available disk space but different total sizes, it's unpredictable (and irrelevant) which one the checker uses. Fixes #129823
1 parent 6a50f48 commit 0da1f69

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

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

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -533,7 +533,7 @@ public void testAbortingOrRunningMergeTaskHoldsUpBudget() throws Exception {
533533
aFileStore.totalSpace = randomLongBetween(1_000L, 10_000L);
534534
bFileStore.totalSpace = randomLongBetween(1_000L, 10_000L);
535535
aFileStore.usableSpace = randomLongBetween(900L, aFileStore.totalSpace);
536-
bFileStore.usableSpace = randomLongBetween(900L, bFileStore.totalSpace);
536+
bFileStore.usableSpace = randomValueOtherThan(aFileStore.usableSpace, () -> randomLongBetween(900L, bFileStore.totalSpace));
537537
boolean aHasMoreSpace = aFileStore.usableSpace > bFileStore.usableSpace;
538538
try (
539539
ThreadPoolMergeExecutorService threadPoolMergeExecutorService = ThreadPoolMergeExecutorService
@@ -611,7 +611,7 @@ public void testBackloggedMergeTasksDoNotHoldUpBudget() throws Exception {
611611
aFileStore.totalSpace = randomLongBetween(1_000L, 10_000L);
612612
bFileStore.totalSpace = randomLongBetween(1_000L, 10_000L);
613613
aFileStore.usableSpace = randomLongBetween(900L, aFileStore.totalSpace);
614-
bFileStore.usableSpace = randomLongBetween(900L, bFileStore.totalSpace);
614+
bFileStore.usableSpace = randomValueOtherThan(aFileStore.usableSpace, () -> randomLongBetween(900L, bFileStore.totalSpace));
615615
boolean aHasMoreSpace = aFileStore.usableSpace > bFileStore.usableSpace;
616616
try (
617617
ThreadPoolMergeExecutorService threadPoolMergeExecutorService = ThreadPoolMergeExecutorService
@@ -896,7 +896,7 @@ public void testEnqueuedMergeTasksAreUnblockedWhenEstimatedMergeSizeChanges() th
896896
long diskSpaceLimitBytes = randomLongBetween(10L, 100L);
897897
aFileStore.usableSpace = diskSpaceLimitBytes + randomLongBetween(1L, 100L);
898898
aFileStore.totalSpace = aFileStore.usableSpace + randomLongBetween(1L, 10L);
899-
bFileStore.usableSpace = diskSpaceLimitBytes + randomLongBetween(1L, 100L);
899+
bFileStore.usableSpace = randomValueOtherThan(aFileStore.usableSpace, () -> diskSpaceLimitBytes + randomLongBetween(1L, 100L));
900900
bFileStore.totalSpace = bFileStore.usableSpace + randomLongBetween(1L, 10L);
901901
boolean aHasMoreSpace = aFileStore.usableSpace > bFileStore.usableSpace;
902902
Settings.Builder settingsBuilder = Settings.builder().put(settings);
@@ -996,7 +996,10 @@ public void testMergeTasksAreUnblockedWhenMoreDiskSpaceBecomesAvailable() throws
996996
bFileStore.totalSpace = randomLongBetween(300L, 1_000L);
997997
long grantedUsableSpaceBuffer = randomLongBetween(10L, 50L);
998998
aFileStore.usableSpace = randomLongBetween(200L, aFileStore.totalSpace - grantedUsableSpaceBuffer);
999-
bFileStore.usableSpace = randomLongBetween(200L, bFileStore.totalSpace - grantedUsableSpaceBuffer);
999+
bFileStore.usableSpace = randomValueOtherThan(
1000+
aFileStore.usableSpace,
1001+
() -> randomLongBetween(200L, bFileStore.totalSpace - grantedUsableSpaceBuffer)
1002+
);
10001003
boolean aHasMoreSpace = aFileStore.usableSpace > bFileStore.usableSpace;
10011004
Settings.Builder settingsBuilder = Settings.builder().put(settings);
10021005
// change the watermark level, just for coverage and it's easier with the calculations

0 commit comments

Comments
 (0)