Skip to content

Commit 2b7763c

Browse files
authored
Fix failures in ShuffleForcedMergePolicyTests#testDiagnostics (#48627)
This commit fixes intermittent failures in ShuffleForcedMergePolicyTests#testDiagnostics by setting a more restricted merge policy that ensures that extra merging will not happen before the forced merge.
1 parent 752fa87 commit 2b7763c

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

server/src/main/java/org/apache/lucene/index/ShuffleForcedMergePolicy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public CodecReader wrapForMerge(CodecReader reader) throws IOException {
7777

7878
@Override
7979
public void setMergeInfo(SegmentCommitInfo info) {
80-
// Record that this merged segment is current as of this schemaGen:
80+
// record that this segment was merged with interleaved segments
8181
Map<String, String> copy = new HashMap<>(info.info.getDiagnostics());
8282
copy.put(SHUFFLE_MERGE_KEY, "");
8383
info.info.setDiagnostics(copy);

server/src/test/java/org/apache/lucene/index/ShuffleForcedMergePolicyTests.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public class ShuffleForcedMergePolicyTests extends BaseMergePolicyTestCase {
3737
public void testDiagnostics() throws IOException {
3838
try (Directory dir = newDirectory()) {
3939
IndexWriterConfig iwc = newIndexWriterConfig();
40-
MergePolicy mp = new ShuffleForcedMergePolicy(newLogMergePolicy());
40+
MergePolicy mp = new ShuffleForcedMergePolicy(newTieredMergePolicy());
4141
iwc.setMergePolicy(mp);
4242
boolean sorted = random().nextBoolean();
4343
if (sorted) {
@@ -57,16 +57,12 @@ public void testDiagnostics() throws IOException {
5757
}
5858
try (DirectoryReader reader = DirectoryReader.open(writer)) {
5959
assertThat(reader.leaves().size(), greaterThan(2));
60-
assertSegmentReaders(reader, leaf -> {
61-
assertFalse(ShuffleForcedMergePolicy.isInterleavedSegment(leaf));
62-
});
60+
assertSegmentReaders(reader, leaf -> assertFalse(ShuffleForcedMergePolicy.isInterleavedSegment(leaf)));
6361
}
6462
writer.forceMerge(1);
6563
try (DirectoryReader reader = DirectoryReader.open(writer)) {
6664
assertThat(reader.leaves().size(), equalTo(1));
67-
assertSegmentReaders(reader, leaf -> {
68-
assertTrue(ShuffleForcedMergePolicy.isInterleavedSegment(leaf));
69-
});
65+
assertSegmentReaders(reader, leaf -> assertTrue(ShuffleForcedMergePolicy.isInterleavedSegment(leaf)));
7066
}
7167
}
7268
}
@@ -84,8 +80,10 @@ protected MergePolicy mergePolicy() {
8480
}
8581

8682
@Override
87-
protected void assertSegmentInfos(MergePolicy policy, SegmentInfos infos) throws IOException {}
83+
protected void assertSegmentInfos(MergePolicy policy, SegmentInfos infos) throws IOException {
84+
}
8885

8986
@Override
90-
protected void assertMerge(MergePolicy policy, MergePolicy.MergeSpecification merge) throws IOException {}
87+
protected void assertMerge(MergePolicy policy, MergePolicy.MergeSpecification merge) throws IOException {
88+
}
9189
}

0 commit comments

Comments
 (0)