diff --git a/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java b/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java index 7897a70fd0b..8a551cd8689 100644 --- a/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java +++ b/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java @@ -349,6 +349,9 @@ public class TestIndexWriterReader extends LuceneTestCase { void close(boolean doWait) throws Throwable { didClose = true; + if (doWait) { + mainWriter.waitForMerges(); + } mainWriter.close(doWait); } diff --git a/lucene/src/test/org/apache/lucene/util/_TestUtil.java b/lucene/src/test/org/apache/lucene/util/_TestUtil.java index e91b50123c2..7ae6f4e0cfc 100644 --- a/lucene/src/test/org/apache/lucene/util/_TestUtil.java +++ b/lucene/src/test/org/apache/lucene/util/_TestUtil.java @@ -231,5 +231,11 @@ public class _TestUtil { // keep number of open files lowish LogMergePolicy lmp = (LogMergePolicy) w.getMergePolicy(); lmp.setMergeFactor(Math.min(5, lmp.getMergeFactor())); + + MergeScheduler ms = w.getConfig().getMergeScheduler(); + if (ms instanceof ConcurrentMergeScheduler) { + ((ConcurrentMergeScheduler) ms).setMaxThreadCount(2); + ((ConcurrentMergeScheduler) ms).setMaxMergeCount(3); + } } }