You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by si...@apache.org on 2014/03/11 20:34:56 UTC
svn commit: r1576482 - in /lucene/dev/branches/branch_4x: ./ lucene/
lucene/core/ lucene/core/src/java/org/apache/lucene/index/
lucene/core/src/test/org/apache/lucene/
lucene/core/src/test/org/apache/lucene/index/ lucene/misc/
lucene/misc/src/java/org/...
Author: simonw
Date: Tue Mar 11 19:34:55 2014
New Revision: 1576482
URL: http://svn.apache.org/r1576482
Log:
LUCENE-5516: Forward information that trigger a merge to MergeScheduler
Added:
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/MergeTrigger.java
- copied unchanged from r1576476, lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/MergeTrigger.java
Modified:
lucene/dev/branches/branch_4x/ (props changed)
lucene/dev/branches/branch_4x/lucene/ (props changed)
lucene/dev/branches/branch_4x/lucene/CHANGES.txt (contents, props changed)
lucene/dev/branches/branch_4x/lucene/core/ (props changed)
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/LogMergePolicy.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/MergeScheduler.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/NoMergeScheduler.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/SerialMergeScheduler.java
lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/UpgradeIndexMergePolicy.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/TestMergeSchedulerExternal.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java
lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestNoMergeScheduler.java
lucene/dev/branches/branch_4x/lucene/misc/ (props changed)
lucene/dev/branches/branch_4x/lucene/misc/src/java/org/apache/lucene/index/sorter/SortingMergePolicy.java
lucene/dev/branches/branch_4x/lucene/test-framework/ (props changed)
lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java
Modified: lucene/dev/branches/branch_4x/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/CHANGES.txt?rev=1576482&r1=1576481&r2=1576482&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/lucene/CHANGES.txt Tue Mar 11 19:34:55 2014
@@ -53,6 +53,10 @@ API Changes
and a separate Sort for ordering of children within a block.
(Robert Muir, Mike McCandless, Adrien Grand)
+* LUCENE-5516: MergeScheduler#merge() now accepts a MergeTrigger as well as
+ a boolean that indicates if a new merge was found in the caller thread before
+ the scheduler was called. (Simon Willnauer)
+
Optimizations
* LUCENE-5468: HunspellStemFilter uses 10 to 100x less RAM. It also loads
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java?rev=1576482&r1=1576481&r2=1576482&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/ConcurrentMergeScheduler.java Tue Mar 11 19:34:55 2014
@@ -308,7 +308,7 @@ public class ConcurrentMergeScheduler ex
}
@Override
- public synchronized void merge(IndexWriter writer) throws IOException {
+ public synchronized void merge(IndexWriter writer, MergeTrigger trigger, boolean newMergesFound) throws IOException {
assert !Thread.holdsLock(writer);
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java?rev=1576482&r1=1576481&r2=1576482&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/IndexWriter.java Tue Mar 11 19:34:55 2014
@@ -17,24 +17,6 @@ package org.apache.lucene.index;
* limitations under the License.
*/
-import java.io.Closeable;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Queue;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
-
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.codecs.Codec;
import org.apache.lucene.codecs.lucene3x.Lucene3xCodec;
@@ -42,7 +24,6 @@ import org.apache.lucene.codecs.lucene3x
import org.apache.lucene.index.FieldInfo.DocValuesType;
import org.apache.lucene.index.FieldInfos.FieldNumbers;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
-import org.apache.lucene.index.MergePolicy.MergeTrigger;
import org.apache.lucene.index.MergeState.CheckAbort;
import org.apache.lucene.index.NumericFieldUpdates.UpdatesIterator;
import org.apache.lucene.search.Query;
@@ -60,6 +41,24 @@ import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.InfoStream;
import org.apache.lucene.util.ThreadInterruptedException;
+import java.io.Closeable;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Queue;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
+
/**
An <code>IndexWriter</code> creates and maintains an index.
@@ -995,7 +994,7 @@ public class IndexWriter implements Clos
try {
// Give merge scheduler last chance to run, in case
// any pending merges are waiting:
- mergeScheduler.merge(this);
+ mergeScheduler.merge(this, MergeTrigger.CLOSING, false);
} catch (ThreadInterruptedException tie) {
// ignore any interruption, does not matter
interrupted = true;
@@ -1831,17 +1830,18 @@ public class IndexWriter implements Clos
}
MergePolicy.MergeSpecification spec;
-
+ boolean newMergesFound = false;
synchronized(this) {
spec = mergePolicy.findForcedDeletesMerges(segmentInfos);
- if (spec != null) {
+ newMergesFound = spec != null;
+ if (newMergesFound) {
final int numMerges = spec.merges.size();
for(int i=0;i<numMerges;i++)
registerMerge(spec.merges.get(i));
}
}
- mergeScheduler.merge(this);
+ mergeScheduler.merge(this, MergeTrigger.EXPLICIT, newMergesFound);
if (spec != null && doWait) {
final int numMerges = spec.merges.size();
@@ -1933,29 +1933,30 @@ public class IndexWriter implements Clos
private final void maybeMerge(MergeTrigger trigger, int maxNumSegments) throws IOException {
ensureOpen(false);
- updatePendingMerges(trigger, maxNumSegments);
- mergeScheduler.merge(this);
+ boolean newMergesFound = updatePendingMerges(trigger, maxNumSegments);
+ mergeScheduler.merge(this, trigger, newMergesFound);
}
- private synchronized void updatePendingMerges(MergeTrigger trigger, int maxNumSegments)
+ private synchronized boolean updatePendingMerges(MergeTrigger trigger, int maxNumSegments)
throws IOException {
assert maxNumSegments == -1 || maxNumSegments > 0;
assert trigger != null;
if (stopMerges) {
- return;
+ return false;
}
// Do not start new merges if we've hit OOME
if (hitOOM) {
- return;
+ return false;
}
-
+ boolean newMergesFound = false;
final MergePolicy.MergeSpecification spec;
if (maxNumSegments != UNBOUNDED_MAX_MERGE_SEGMENTS) {
assert trigger == MergeTrigger.EXPLICIT || trigger == MergeTrigger.MERGE_FINISHED :
"Expected EXPLICT or MERGE_FINISHED as trigger even with maxNumSegments set but was: " + trigger.name();
spec = mergePolicy.findForcedMerges(segmentInfos, maxNumSegments, Collections.unmodifiableMap(segmentsToMerge));
- if (spec != null) {
+ newMergesFound = spec != null;
+ if (newMergesFound) {
final int numMerges = spec.merges.size();
for(int i=0;i<numMerges;i++) {
final MergePolicy.OneMerge merge = spec.merges.get(i);
@@ -1965,13 +1966,14 @@ public class IndexWriter implements Clos
} else {
spec = mergePolicy.findMerges(trigger, segmentInfos);
}
-
- if (spec != null) {
+ newMergesFound = spec != null;
+ if (newMergesFound) {
final int numMerges = spec.merges.size();
for(int i=0;i<numMerges;i++) {
registerMerge(spec.merges.get(i));
}
}
+ return newMergesFound;
}
/** Expert: to be used by a {@link MergePolicy} to avoid
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/LogMergePolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/LogMergePolicy.java?rev=1576482&r1=1576481&r2=1576482&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/LogMergePolicy.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/LogMergePolicy.java Tue Mar 11 19:34:55 2014
@@ -24,8 +24,6 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
-import org.apache.lucene.index.MergePolicy.MergeTrigger;
-
/**
* <p>This class implements a {@link MergePolicy} that tries
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java?rev=1576482&r1=1576481&r2=1576482&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/MergePolicy.java Tue Mar 11 19:34:55 2014
@@ -17,18 +17,18 @@ package org.apache.lucene.index;
* limitations under the License.
*/
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.MergeInfo;
+import org.apache.lucene.util.FixedBitSet;
+import org.apache.lucene.util.SetOnce;
+import org.apache.lucene.util.SetOnce.AlreadySetException;
+
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MergeInfo;
-import org.apache.lucene.util.FixedBitSet;
-import org.apache.lucene.util.SetOnce.AlreadySetException;
-import org.apache.lucene.util.SetOnce;
-
/**
* <p>Expert: a MergePolicy determines the sequence of
* primitive merge operations.</p>
@@ -567,29 +567,4 @@ public abstract class MergePolicy implem
this.maxCFSSegmentSize = (v > Long.MAX_VALUE) ? Long.MAX_VALUE : (long) v;
}
- /**
- * MergeTrigger is passed to
- * {@link MergePolicy#findMerges(MergeTrigger, SegmentInfos)} to indicate the
- * event that triggered the merge.
- */
- public static enum MergeTrigger {
- /**
- * Merge was triggered by a segment flush.
- */
- SEGMENT_FLUSH,
- /**
- * Merge was triggered by a full flush. Full flushes
- * can be caused by a commit, NRT reader reopen or a close call on the index writer.
- */
- FULL_FLUSH,
- /**
- * Merge has been triggered explicitly by the user.
- */
- EXPLICIT,
-
- /**
- * Merge was triggered by a successfully finished merge.
- */
- MERGE_FINISHED,
- }
}
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/MergeScheduler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/MergeScheduler.java?rev=1576482&r1=1576481&r2=1576482&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/MergeScheduler.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/MergeScheduler.java Tue Mar 11 19:34:55 2014
@@ -36,8 +36,12 @@ public abstract class MergeScheduler imp
protected MergeScheduler() {
}
- /** Run the merges provided by {@link IndexWriter#getNextMerge()}. */
- public abstract void merge(IndexWriter writer) throws IOException;
+ /** Run the merges provided by {@link IndexWriter#getNextMerge()}.
+ * @param writer the {@link IndexWriter} to obtain the merges from.
+ * @param trigger the {@link MergeTrigger} that caused this merge to happen
+ * @param newMergesFound <code>true</code> iff any new merges were found by the caller otherwise <code>false</code>
+ * */
+ public abstract void merge(IndexWriter writer, MergeTrigger trigger, boolean newMergesFound) throws IOException;
/** Close this MergeScheduler. */
@Override
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/NoMergeScheduler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/NoMergeScheduler.java?rev=1576482&r1=1576481&r2=1576482&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/NoMergeScheduler.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/NoMergeScheduler.java Tue Mar 11 19:34:55 2014
@@ -40,7 +40,7 @@ public final class NoMergeScheduler exte
public void close() {}
@Override
- public void merge(IndexWriter writer) {}
+ public void merge(IndexWriter writer, MergeTrigger trigger, boolean newMergesFound) {}
@Override
public MergeScheduler clone() {
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/SerialMergeScheduler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/SerialMergeScheduler.java?rev=1576482&r1=1576481&r2=1576482&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/SerialMergeScheduler.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/SerialMergeScheduler.java Tue Mar 11 19:34:55 2014
@@ -31,7 +31,7 @@ public class SerialMergeScheduler extend
* "synchronized" so that even if the application is using
* multiple threads, only one merge may run at a time. */
@Override
- synchronized public void merge(IndexWriter writer) throws IOException {
+ synchronized public void merge(IndexWriter writer, MergeTrigger trigger, boolean newMergesFound) throws IOException {
while(true) {
MergePolicy.OneMerge merge = writer.getNextMerge();
Modified: lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/UpgradeIndexMergePolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/UpgradeIndexMergePolicy.java?rev=1576482&r1=1576481&r2=1576482&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/UpgradeIndexMergePolicy.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/java/org/apache/lucene/index/UpgradeIndexMergePolicy.java Tue Mar 11 19:34:55 2014
@@ -17,7 +17,6 @@ package org.apache.lucene.index;
* limitations under the License.
*/
-import org.apache.lucene.index.MergePolicy.MergeTrigger;
import org.apache.lucene.util.Constants;
import java.io.IOException;
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/TestMergeSchedulerExternal.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/TestMergeSchedulerExternal.java?rev=1576482&r1=1576481&r2=1576482&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/TestMergeSchedulerExternal.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/TestMergeSchedulerExternal.java Tue Mar 11 19:34:55 2014
@@ -16,22 +16,23 @@ package org.apache.lucene;
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import java.io.IOException;
-
-import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.store.Directory;
-import org.apache.lucene.store.MockDirectoryWrapper;
-import org.apache.lucene.store.RAMDirectory;
+import org.apache.lucene.analysis.MockAnalyzer;
+import org.apache.lucene.document.Document;
+import org.apache.lucene.document.Field;
+import org.apache.lucene.index.ConcurrentMergeScheduler;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.LogMergePolicy;
import org.apache.lucene.index.MergePolicy;
-import org.apache.lucene.index.ConcurrentMergeScheduler;
-import org.apache.lucene.index.MergeScheduler;
import org.apache.lucene.index.MergePolicy.OneMerge;
-import org.apache.lucene.analysis.MockAnalyzer;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.document.Field;
+import org.apache.lucene.index.MergeScheduler;
+import org.apache.lucene.index.MergeTrigger;
+import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.MockDirectoryWrapper;
+import org.apache.lucene.store.RAMDirectory;
+import org.apache.lucene.util.LuceneTestCase;
+
+import java.io.IOException;
/**
* Holds tests cases to verify external APIs are accessible
@@ -113,7 +114,7 @@ public class TestMergeSchedulerExternal
private static class ReportingMergeScheduler extends MergeScheduler {
@Override
- public void merge(IndexWriter writer) throws IOException {
+ public void merge(IndexWriter writer, MergeTrigger trigger, boolean newMergesFound) throws IOException {
OneMerge merge = null;
while ((merge = writer.getNextMerge()) != null) {
if (VERBOSE) {
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java?rev=1576482&r1=1576481&r2=1576482&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestIndexWriterMerging.java Tue Mar 11 19:34:55 2014
@@ -311,8 +311,7 @@ public class TestIndexWriterMerging exte
// merging a segment with >= 20 (maxMergeDocs) docs
private class MyMergeScheduler extends MergeScheduler {
@Override
- synchronized public void merge(IndexWriter writer)
- throws IOException {
+ synchronized public void merge(IndexWriter writer, MergeTrigger trigger, boolean newMergesFound) throws IOException {
while(true) {
MergePolicy.OneMerge merge = writer.getNextMerge();
Modified: lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestNoMergeScheduler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestNoMergeScheduler.java?rev=1576482&r1=1576481&r2=1576482&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestNoMergeScheduler.java (original)
+++ lucene/dev/branches/branch_4x/lucene/core/src/test/org/apache/lucene/index/TestNoMergeScheduler.java Tue Mar 11 19:34:55 2014
@@ -17,21 +17,22 @@ package org.apache.lucene.index;
* limitations under the License.
*/
+import com.carrotsearch.randomizedtesting.generators.RandomPicks;
+import org.apache.lucene.util.LuceneTestCase;
+import org.junit.Test;
+
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.Arrays;
-import org.apache.lucene.util.LuceneTestCase;
-import org.junit.Test;
-
public class TestNoMergeScheduler extends LuceneTestCase {
@Test
public void testNoMergeScheduler() throws Exception {
MergeScheduler ms = NoMergeScheduler.INSTANCE;
ms.close();
- ms.merge(null);
+ ms.merge(null, RandomPicks.randomFrom(random(), MergeTrigger.values()), random().nextBoolean());
}
@Test
Modified: lucene/dev/branches/branch_4x/lucene/misc/src/java/org/apache/lucene/index/sorter/SortingMergePolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/misc/src/java/org/apache/lucene/index/sorter/SortingMergePolicy.java?rev=1576482&r1=1576481&r2=1576482&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/misc/src/java/org/apache/lucene/index/sorter/SortingMergePolicy.java (original)
+++ lucene/dev/branches/branch_4x/lucene/misc/src/java/org/apache/lucene/index/sorter/SortingMergePolicy.java Tue Mar 11 19:34:55 2014
@@ -28,6 +28,7 @@ import org.apache.lucene.index.IndexRead
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.MergePolicy;
import org.apache.lucene.index.MergeState;
+import org.apache.lucene.index.MergeTrigger;
import org.apache.lucene.index.MultiReader;
import org.apache.lucene.index.SegmentInfo;
import org.apache.lucene.index.SegmentCommitInfo;
Modified: lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java?rev=1576482&r1=1576481&r2=1576482&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java (original)
+++ lucene/dev/branches/branch_4x/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java Tue Mar 11 19:34:55 2014
@@ -17,15 +17,15 @@ package org.apache.lucene.index;
* limitations under the License.
*/
-import java.io.IOException;
-import java.util.concurrent.atomic.AtomicBoolean;
-
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
+import java.io.IOException;
+import java.util.concurrent.atomic.AtomicBoolean;
+
/**
* Base test case for {@link MergePolicy}.
*/
@@ -39,11 +39,11 @@ public abstract class BaseMergePolicyTes
final AtomicBoolean mayMerge = new AtomicBoolean(true);
final MergeScheduler mergeScheduler = new SerialMergeScheduler() {
@Override
- synchronized public void merge(IndexWriter writer) throws IOException {
+ synchronized public void merge(IndexWriter writer, MergeTrigger trigger, boolean newMergesFound) throws IOException {
if (!mayMerge.get() && writer.getNextMerge() != null) {
throw new AssertionError();
}
- super.merge(writer);
+ super.merge(writer, trigger, newMergesFound);
}
};
IndexWriter writer = new IndexWriter(dir, newIndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random())).setMergeScheduler(mergeScheduler).setMergePolicy(mergePolicy()));