Skip to content

Commit 0a77bdf

Browse files
Fix ThreadPoolMergeSchedulerTests testSchedulerCloseWaitsForRunningMerge (#130078)
This fixes a race condition in the test scenario, between the merge scheduler closing and the merge task being scheduled to run. The test scenario expects that the merge task runs when the scheduler is closed. If the merge scheduler is closed before the merge task is scheduled, the merge task will instead be scheduled as aborted. Fixes: #125236
1 parent c0b2bb1 commit 0a77bdf

File tree

2 files changed

+3
-5
lines changed

2 files changed

+3
-5
lines changed

muted-tests.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -278,9 +278,6 @@ tests:
278278
- class: org.elasticsearch.search.basic.SearchWithRandomDisconnectsIT
279279
method: testSearchWithRandomDisconnects
280280
issue: https://github.com/elastic/elasticsearch/issues/122707
281-
- class: org.elasticsearch.index.engine.ThreadPoolMergeSchedulerTests
282-
method: testSchedulerCloseWaitsForRunningMerge
283-
issue: https://github.com/elastic/elasticsearch/issues/125236
284281
- class: org.elasticsearch.packaging.test.DockerTests
285282
method: test020PluginsListWithNoPlugins
286283
issue: https://github.com/elastic/elasticsearch/issues/126232

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -612,11 +612,12 @@ public void testSchedulerCloseWaitsForRunningMerge() throws Exception {
612612
fail(e);
613613
}
614614
});
615+
// test expects that there definitely is a running merge before closing the merge scheduler
616+
mergeRunningLatch.await();
617+
// closes the merge scheduler
615618
t.start();
616619
try {
617620
assertTrue(t.isAlive());
618-
// wait for the merge to actually run
619-
mergeRunningLatch.await();
620621
// ensure the merge scheduler is effectively "closed"
621622
assertBusy(() -> {
622623
MergeSource mergeSource2 = mock(MergeSource.class);

0 commit comments

Comments
 (0)