From 76210b6ecacb322954f1a1dee34d0d145951aadc Mon Sep 17 00:00:00 2001 From: Albert Zaharovits Date: Tue, 1 Apr 2025 18:30:26 +0300 Subject: [PATCH] Fix testMergeSourceWithFollowUpMergesRunSequentially --- muted-tests.yml | 3 --- .../index/engine/ThreadPoolMergeSchedulerTests.java | 6 ++++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/muted-tests.yml b/muted-tests.yml index 21ba1795f65be..386dd834b8360 100644 --- a/muted-tests.yml +++ b/muted-tests.yml @@ -329,9 +329,6 @@ tests: - class: org.elasticsearch.smoketest.MlWithSecurityIT method: test {yaml=ml/data_frame_analytics_crud/Test get stats on newly created config} issue: https://github.com/elastic/elasticsearch/issues/121726 -- class: org.elasticsearch.index.engine.ThreadPoolMergeSchedulerTests - method: testMergeSourceWithFollowUpMergesRunSequentially - issue: https://github.com/elastic/elasticsearch/issues/125639 - class: org.elasticsearch.smoketest.MlWithSecurityIT method: test {yaml=ml/data_frame_analytics_cat_apis/Test cat data frame analytics all jobs with header and column selection} issue: https://github.com/elastic/elasticsearch/issues/125641 diff --git a/server/src/test/java/org/elasticsearch/index/engine/ThreadPoolMergeSchedulerTests.java b/server/src/test/java/org/elasticsearch/index/engine/ThreadPoolMergeSchedulerTests.java index ae9168357eb32..8919ec46ba176 100644 --- a/server/src/test/java/org/elasticsearch/index/engine/ThreadPoolMergeSchedulerTests.java +++ b/server/src/test/java/org/elasticsearch/index/engine/ThreadPoolMergeSchedulerTests.java @@ -390,11 +390,13 @@ public void testMergeSourceWithFollowUpMergesRunSequentially() throws Exception }).when(mergeSource).merge(any(OneMerge.class)); // trigger run merges on the merge source threadPoolMergeScheduler.merge(mergeSource, randomFrom(MergeTrigger.values())); - do { + boolean done = false; + while (done == false) { // let merges run, but wait for the in-progress one to signal it is running nextMergeSemaphore.acquire(); + done = runMergeIdx.get() >= followUpMergeCount; runMergeSemaphore.release(); - } while (runMergeIdx.get() < followUpMergeCount); + } assertBusy(() -> assertTrue(threadPoolMergeExecutorService.allDone())); } }