From c56977f7e44a2a0100465242dce7a3a5d588e0e4 Mon Sep 17 00:00:00 2001 From: kkewwei Date: Wed, 19 Feb 2025 20:17:01 +0800 Subject: [PATCH] Fix Flaky Test ShuffleForcedMergePolicyTests.testDiagnostics Signed-off-by: kkewwei Signed-off-by: kkewwei --- .../lucene/index/ShuffleForcedMergePolicyTests.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/src/test/java/org/opensearch/lucene/index/ShuffleForcedMergePolicyTests.java b/server/src/test/java/org/opensearch/lucene/index/ShuffleForcedMergePolicyTests.java index 46e5d4a76cd9d..5e9ea57a7e1cc 100644 --- a/server/src/test/java/org/opensearch/lucene/index/ShuffleForcedMergePolicyTests.java +++ b/server/src/test/java/org/opensearch/lucene/index/ShuffleForcedMergePolicyTests.java @@ -43,6 +43,7 @@ import org.apache.lucene.index.LeafReaderContext; import org.apache.lucene.index.MergePolicy; import org.apache.lucene.index.SegmentInfos; +import org.apache.lucene.index.TieredMergePolicy; import org.apache.lucene.search.Sort; import org.apache.lucene.search.SortField; import org.apache.lucene.store.Directory; @@ -59,7 +60,11 @@ public class ShuffleForcedMergePolicyTests extends BaseMergePolicyTestCase { public void testDiagnostics() throws IOException { try (Directory dir = newDirectory()) { IndexWriterConfig iwc = newIndexWriterConfig().setMaxFullFlushMergeWaitMillis(0); - MergePolicy mp = new ShuffleForcedMergePolicy(newTieredMergePolicy()); + TieredMergePolicy tieredMergePolicy = newTieredMergePolicy(); + // ensure only trigger one Merge when flushing, and there are remaining segments to be force merged + tieredMergePolicy.setSegmentsPerTier(8); + tieredMergePolicy.setMaxMergeAtOnce(8); + MergePolicy mp = new ShuffleForcedMergePolicy(tieredMergePolicy); iwc.setMergePolicy(mp); boolean sorted = random().nextBoolean(); if (sorted) {