Skip to content

Commit 567334c

Browse files
committed
Fix concurrent list in merge test
Fixes #131165
1 parent d2d963c commit 567334c

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

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

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.nio.file.attribute.FileStoreAttributeView;
3838
import java.nio.file.spi.FileSystemProvider;
3939
import java.util.ArrayList;
40+
import java.util.Collections;
4041
import java.util.IdentityHashMap;
4142
import java.util.LinkedHashSet;
4243
import java.util.List;
@@ -898,8 +899,8 @@ public void testEnqueuedMergeTasksAreUnblockedWhenEstimatedMergeSizeChanges() th
898899
assertBusy(
899900
() -> assertThat(threadPoolMergeExecutorService.getDiskSpaceAvailableForNewMergeTasks(), is(expectedAvailableBudget.get()))
900901
);
901-
List<ThreadPoolMergeScheduler.MergeTask> tasksRunList = new ArrayList<>();
902-
List<ThreadPoolMergeScheduler.MergeTask> tasksAbortList = new ArrayList<>();
902+
List<ThreadPoolMergeScheduler.MergeTask> tasksRunList = Collections.synchronizedList(new ArrayList<>());
903+
List<ThreadPoolMergeScheduler.MergeTask> tasksAbortList = Collections.synchronizedList(new ArrayList<>());
903904
int submittedMergesCount = randomIntBetween(1, 5);
904905
long[] mergeSizeEstimates = new long[submittedMergesCount];
905906
for (int i = 0; i < submittedMergesCount; i++) {
@@ -954,13 +955,17 @@ public void testEnqueuedMergeTasksAreUnblockedWhenEstimatedMergeSizeChanges() th
954955
});
955956
// assert all merge tasks are either run or aborted
956957
assertBusy(() -> {
957-
for (ThreadPoolMergeScheduler.MergeTask mergeTask : tasksRunList) {
958-
verify(mergeTask, times(1)).run();
959-
verify(mergeTask, times(0)).abort();
958+
synchronized (tasksRunList) {
959+
for (ThreadPoolMergeScheduler.MergeTask mergeTask : tasksRunList) {
960+
verify(mergeTask, times(1)).run();
961+
verify(mergeTask, times(0)).abort();
962+
}
960963
}
961-
for (ThreadPoolMergeScheduler.MergeTask mergeTask : tasksAbortList) {
962-
verify(mergeTask, times(0)).run();
963-
verify(mergeTask, times(1)).abort();
964+
synchronized (tasksAbortList) {
965+
for (ThreadPoolMergeScheduler.MergeTask mergeTask : tasksAbortList) {
966+
verify(mergeTask, times(0)).run();
967+
verify(mergeTask, times(1)).abort();
968+
}
964969
}
965970
});
966971
}

0 commit comments

Comments
 (0)