|
189 | 189 | import static org.hamcrest.CoreMatchers.sameInstance;
|
190 | 190 | import static org.hamcrest.Matchers.contains;
|
191 | 191 | import static org.hamcrest.Matchers.containsInAnyOrder;
|
| 192 | +import static org.hamcrest.Matchers.containsString; |
192 | 193 | import static org.hamcrest.Matchers.empty;
|
193 | 194 | import static org.hamcrest.Matchers.equalTo;
|
194 | 195 | import static org.hamcrest.Matchers.everyItem;
|
|
197 | 198 | import static org.hamcrest.Matchers.hasItem;
|
198 | 199 | import static org.hamcrest.Matchers.hasKey;
|
199 | 200 | import static org.hamcrest.Matchers.hasSize;
|
| 201 | +import static org.hamcrest.Matchers.is; |
200 | 202 | import static org.hamcrest.Matchers.isIn;
|
201 | 203 | import static org.hamcrest.Matchers.lessThanOrEqualTo;
|
202 | 204 | import static org.hamcrest.Matchers.not;
|
@@ -1225,8 +1227,7 @@ public void testRenewSyncFlush() throws Exception {
|
1225 | 1227 | Engine.SyncedFlushResult.SUCCESS);
|
1226 | 1228 | assertEquals(3, engine.segments(false).size());
|
1227 | 1229 |
|
1228 |
| - engine.forceMerge(forceMergeFlushes, 1, false, |
1229 |
| - false, false); |
| 1230 | + engine.forceMerge(forceMergeFlushes, 1, false, false, false); |
1230 | 1231 | if (forceMergeFlushes == false) {
|
1231 | 1232 | engine.refresh("make all segments visible");
|
1232 | 1233 | assertEquals(4, engine.segments(false).size());
|
@@ -1471,7 +1472,7 @@ public void testForceMergeWithoutSoftDeletes() throws IOException {
|
1471 | 1472 | Engine.Index index = indexForDoc(doc);
|
1472 | 1473 | engine.delete(new Engine.Delete(index.type(), index.id(), index.uid(), primaryTerm.get()));
|
1473 | 1474 | //expunge deletes
|
1474 |
| - engine.forceMerge(true, 10, true, false, false); |
| 1475 | + engine.forceMerge(true, -1, true, false, false); |
1475 | 1476 | engine.refresh("test");
|
1476 | 1477 |
|
1477 | 1478 | assertEquals(engine.segments(true).size(), 1);
|
@@ -1752,8 +1753,7 @@ public void run() {
|
1752 | 1753 | engine.refresh("test");
|
1753 | 1754 | indexed.countDown();
|
1754 | 1755 | try {
|
1755 |
| - engine.forceMerge(randomBoolean(), 1, false, randomBoolean(), |
1756 |
| - randomBoolean()); |
| 1756 | + engine.forceMerge(randomBoolean(), 1, false, randomBoolean(), randomBoolean()); |
1757 | 1757 | } catch (IOException e) {
|
1758 | 1758 | return;
|
1759 | 1759 | }
|
@@ -3162,8 +3162,7 @@ public void run() {
|
3162 | 3162 | try {
|
3163 | 3163 | switch (operation) {
|
3164 | 3164 | case "optimize": {
|
3165 |
| - engine.forceMerge(true, 1, false, false, |
3166 |
| - false); |
| 3165 | + engine.forceMerge(true, 1, false, false, false); |
3167 | 3166 | break;
|
3168 | 3167 | }
|
3169 | 3168 | case "refresh": {
|
@@ -4364,7 +4363,16 @@ public void testRandomOperations() throws Exception {
|
4364 | 4363 | engine.flush();
|
4365 | 4364 | }
|
4366 | 4365 | if (randomBoolean()) {
|
4367 |
| - engine.forceMerge(randomBoolean(), between(1, 10), randomBoolean(), false, false); |
| 4366 | + boolean flush = randomBoolean(); |
| 4367 | + boolean onlyExpungeDeletes = randomBoolean(); |
| 4368 | + int maxNumSegments = randomIntBetween(-1, 10); |
| 4369 | + try { |
| 4370 | + engine.forceMerge(flush, maxNumSegments, onlyExpungeDeletes, false, false); |
| 4371 | + } catch (IllegalArgumentException e) { |
| 4372 | + assertThat(e.getMessage(), containsString("only_expunge_deletes and max_num_segments are mutually exclusive")); |
| 4373 | + assertThat(onlyExpungeDeletes, is(true)); |
| 4374 | + assertThat(maxNumSegments, greaterThan(-1)); |
| 4375 | + } |
4368 | 4376 | }
|
4369 | 4377 | }
|
4370 | 4378 | if (engine.engineConfig.getIndexSettings().isSoftDeleteEnabled()) {
|
|
0 commit comments