Skip to content

Commit 0481815

Browse files
committedFeb 20, 2025
Fix Flaky Test ShuffleForcedMergePolicyTests.testDiagnostics
Signed-off-by: kkewwei <kewei.11@bytedance.com> Signed-off-by: kkewwei <kkewwei@163.com>
1 parent e62bf1a commit 0481815

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed
 

‎server/src/main/java/org/opensearch/search/query/QueryPhase.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ static boolean executeInternal(SearchContext searchContext, QueryPhaseSearcher q
219219
}
220220
}
221221
}
222-
}
222+
} d
223223

224224
final LinkedList<QueryCollectorContext> collectors = new LinkedList<>();
225225
// whether the chain contains a collector that filters documents

‎server/src/test/java/org/opensearch/lucene/index/ShuffleForcedMergePolicyTests.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
import org.apache.lucene.index.LeafReaderContext;
4444
import org.apache.lucene.index.MergePolicy;
4545
import org.apache.lucene.index.SegmentInfos;
46+
import org.apache.lucene.index.TieredMergePolicy;
4647
import org.apache.lucene.search.Sort;
4748
import org.apache.lucene.search.SortField;
4849
import org.apache.lucene.store.Directory;
@@ -59,13 +60,17 @@ public class ShuffleForcedMergePolicyTests extends BaseMergePolicyTestCase {
5960
public void testDiagnostics() throws IOException {
6061
try (Directory dir = newDirectory()) {
6162
IndexWriterConfig iwc = newIndexWriterConfig().setMaxFullFlushMergeWaitMillis(0);
62-
MergePolicy mp = new ShuffleForcedMergePolicy(newTieredMergePolicy());
63+
TieredMergePolicy tieredMergePolicy = newTieredMergePolicy();
64+
// ensure only trigger one Merge when flushing, and there are remaining segments to be force merged
65+
tieredMergePolicy.setSegmentsPerTier(8);
66+
tieredMergePolicy.setMaxMergeAtOnce(8);
67+
MergePolicy mp = new ShuffleForcedMergePolicy(tieredMergePolicy);
6368
iwc.setMergePolicy(mp);
6469
boolean sorted = random().nextBoolean();
6570
if (sorted) {
6671
iwc.setIndexSort(new Sort(new SortField("sort", SortField.Type.INT)));
6772
}
68-
int numDocs = atLeast(100);
73+
int numDocs = 90 + random().nextInt(10);
6974

7075
try (IndexWriter writer = new IndexWriter(dir, iwc)) {
7176
for (int i = 0; i < numDocs; i++) {

0 commit comments

Comments
 (0)