factor out test method to configure IW to reduce open file count

git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1037223 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael McCandless 2010-11-20 14:27:46 +00:00
parent bd4a69fb94
commit fc9c09ea1e
4 changed files with 21 additions and 27 deletions

View File

@ -2365,11 +2365,7 @@ public class TestIndexWriter extends LuceneTestCase {
final Directory dir = newDirectory();
final IndexWriter w = new IndexWriter(dir, newIndexWriterConfig(
TEST_VERSION_CURRENT, new MockAnalyzer()));
LogMergePolicy lmp = (LogMergePolicy) w.getMergePolicy();
if (lmp.getMergeFactor() > 5) {
// reduce risk of too many open files
lmp.setMergeFactor(5);
}
_TestUtil.reduceOpenFiles(w);
w.commit();
final AtomicBoolean failed = new AtomicBoolean();
Thread[] threads = new Thread[NUM_THREADS];

View File

@ -281,12 +281,7 @@ public class TestIndexWriterReader extends LuceneTestCase {
Directory mainDir = newDirectory();
IndexWriter mainWriter = new IndexWriter(mainDir, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer()));
// try to keep open file count down:
LogMergePolicy lmp = (LogMergePolicy) mainWriter.getMergePolicy();
if (lmp.getMergeFactor() > 5) {
lmp.setMergeFactor(5);
}
_TestUtil.reduceOpenFiles(mainWriter);
mainWriter.setInfoStream(infoStream);
AddDirectoriesThreads addDirThreads = new AddDirectoriesThreads(numIter, mainWriter);

View File

@ -25,7 +25,6 @@ import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.index.LogMergePolicy;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.LuceneTestCase;
@ -119,12 +118,7 @@ public class BaseTestRangeFilter extends LuceneTestCase {
RandomIndexWriter writer = new RandomIndexWriter(random, index.index,
newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer())
.setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(_TestUtil.nextInt(random, 50, 1000)));
LogMergePolicy lmp = (LogMergePolicy) writer.w.getMergePolicy();
if (lmp.getMergeFactor() > 5) {
// reduce risk of too many open files
lmp.setMergeFactor(5);
}
_TestUtil.reduceOpenFiles(writer.w);
Document doc = new Document();
Field idField = newField(random, "id", "", Field.Store.YES, Field.Index.NOT_ANALYZED);

View File

@ -17,20 +17,21 @@ package org.apache.lucene.util;
* limitations under the License.
*/
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.MergeScheduler;
import org.apache.lucene.index.ConcurrentMergeScheduler;
import org.apache.lucene.index.CheckIndex;
import org.apache.lucene.index.codecs.CodecProvider;
import org.apache.lucene.index.codecs.Codec;
import org.apache.lucene.index.SegmentWriteState;
import org.apache.lucene.store.Directory;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.util.Random;
import org.apache.lucene.index.CheckIndex;
import org.apache.lucene.index.ConcurrentMergeScheduler;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.LogMergePolicy;
import org.apache.lucene.index.MergeScheduler;
import org.apache.lucene.index.codecs.Codec;
import org.apache.lucene.index.codecs.CodecProvider;
import org.apache.lucene.store.Directory;
public class _TestUtil {
/** Returns temp dir, containing String arg in its name;
@ -223,4 +224,12 @@ public class _TestUtil {
return false;
}
}
// just tries to configure things to keep the open file
// count lowish
public static void reduceOpenFiles(IndexWriter w) {
// keep number of open files lowish
LogMergePolicy lmp = (LogMergePolicy) w.getMergePolicy();
lmp.setMergeFactor(Math.min(5, lmp.getMergeFactor()));
}
}