From be74f4f7a7f808487489c315e616745fbad56186 Mon Sep 17 00:00:00 2001 From: Adrien Grand Date: Thu, 24 Nov 2016 13:51:35 +0100 Subject: [PATCH] LUCENE-7569: Fix index sorting test failures. --- .../src/test/org/apache/lucene/index/TestIndexSorting.java | 7 ++++++- .../org/apache/lucene/index/MockRandomMergePolicy.java | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexSorting.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexSorting.java index 26c4b95e526..eb74ab7b688 100644 --- a/lucene/core/src/test/org/apache/lucene/index/TestIndexSorting.java +++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexSorting.java @@ -141,7 +141,12 @@ public class TestIndexSorting extends LuceneTestCase { Sort indexSort = new Sort(sortField, new SortField("id", SortField.Type.INT)); iwc.setIndexSort(indexSort); - iwc.setMergePolicy(newLogMergePolicy()); + LogMergePolicy policy = newLogMergePolicy(); + // make sure that merge factor is always > 2 + if (policy.getMergeFactor() <= 2) { + policy.setMergeFactor(3); + } + iwc.setMergePolicy(policy); // add already sorted documents codec.numCalls = 0; diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java b/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java index f32e4d3c118..b1cc0ee3f78 100644 --- a/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java +++ b/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java @@ -156,7 +156,7 @@ public class MockRandomMergePolicy extends MergePolicy { if (LuceneTestCase.VERBOSE) { System.out.println("NOTE: MockRandomMergePolicy now swaps in a SlowCodecReaderWrapper for merging reader=" + reader); } - return SlowCodecReaderWrapper.wrap(new FilterLeafReader(reader) {}); + return SlowCodecReaderWrapper.wrap(new FilterLeafReader(new MergeReaderWrapper(reader)) {}); } else if (thingToDo == 1) { // renumber fields // NOTE: currently this only "blocks" bulk merges just by @@ -165,7 +165,7 @@ public class MockRandomMergePolicy extends MergePolicy { if (LuceneTestCase.VERBOSE) { System.out.println("NOTE: MockRandomMergePolicy now swaps in a MismatchedLeafReader for merging reader=" + reader); } - return SlowCodecReaderWrapper.wrap(new MismatchedLeafReader(reader, r)); + return SlowCodecReaderWrapper.wrap(new MismatchedLeafReader(new MergeReaderWrapper(reader), r)); } else { // otherwise, reader is unchanged return reader;