|
32 | 32 |
|
33 | 33 | package org.opensearch.index;
|
34 | 34 |
|
| 35 | +import org.apache.lucene.index.MergePolicy; |
| 36 | +import org.apache.lucene.index.SegmentCommitInfo; |
| 37 | +import org.apache.lucene.index.SegmentInfos; |
35 | 38 | import org.apache.lucene.index.TieredMergePolicy;
|
| 39 | +import org.apache.lucene.util.InfoStream; |
| 40 | +import org.apache.lucene.util.Version; |
36 | 41 | import org.opensearch.test.OpenSearchTestCase;
|
37 | 42 |
|
| 43 | +import java.io.IOException; |
| 44 | +import java.util.Collections; |
| 45 | +import java.util.Set; |
| 46 | + |
38 | 47 | public class OpenSearchTieredMergePolicyTests extends OpenSearchTestCase {
|
39 | 48 |
|
40 | 49 | public void testDefaults() {
|
@@ -80,4 +89,29 @@ public void testSetDeletesPctAllowed() {
|
80 | 89 | policy.setDeletesPctAllowed(42);
|
81 | 90 | assertEquals(42, policy.regularMergePolicy.getDeletesPctAllowed(), 0);
|
82 | 91 | }
|
| 92 | + |
| 93 | + public void testFindDeleteMergesReturnsNullOnEmptySegmentInfos() throws IOException { |
| 94 | + MergePolicy.MergeSpecification mergeSpecification = new OpenSearchTieredMergePolicy().findForcedDeletesMerges(new SegmentInfos(Version.LATEST.major), new MergePolicy.MergeContext() { |
| 95 | + @Override |
| 96 | + public int numDeletesToMerge(SegmentCommitInfo info) { |
| 97 | + return 0; |
| 98 | + } |
| 99 | + |
| 100 | + @Override |
| 101 | + public int numDeletedDocs(SegmentCommitInfo info) { |
| 102 | + return 0; |
| 103 | + } |
| 104 | + |
| 105 | + @Override |
| 106 | + public InfoStream getInfoStream() { |
| 107 | + return InfoStream.NO_OUTPUT; |
| 108 | + } |
| 109 | + |
| 110 | + @Override |
| 111 | + public Set<SegmentCommitInfo> getMergingSegments() { |
| 112 | + return Collections.emptySet(); |
| 113 | + } |
| 114 | + }); |
| 115 | + assertNull(mergeSpecification); |
| 116 | + } |
83 | 117 | }
|
0 commit comments