You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2011/10/29 22:43:08 UTC
svn commit: r1195026 - in /lucene/dev/branches/lucene2621/lucene/src:
java/org/apache/lucene/index/ test-framework/org/apache/lucene/index/
test/org/apache/lucene/index/
Author: rmuir
Date: Sat Oct 29 20:43:07 2011
New Revision: 1195026
URL: http://svn.apache.org/viewvc?rev=1195026&view=rev
Log:
LUCENE-3490: lookup codec from CP a single time in IW
Modified:
lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexWriter.java
lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java
lucene/dev/branches/lucene2621/lucene/src/test-framework/org/apache/lucene/index/RandomIndexWriter.java
lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDoc.java
lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java
Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexWriter.java?rev=1195026&r1=1195025&r2=1195026&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexWriter.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/IndexWriter.java Sat Oct 29 20:43:07 2011
@@ -802,7 +802,8 @@ public class IndexWriter implements Clos
infoStream.println("IW " + messageID + " [" + new Date() + "; " + Thread.currentThread().getName() + "]: " + message);
}
- CodecProvider codecs;
+ private final CodecProvider codecs; // for reading
+ final Codec defaultCodec; // for writing new segments
/**
* Constructs a new IndexWriter per the settings given in <code>conf</code>.
@@ -906,7 +907,7 @@ public class IndexWriter implements Clos
// start with previous field numbers, but new FieldInfos
globalFieldNumberMap = segmentInfos.getOrLoadGlobalFieldNumberMap(directory);
- Codec defaultCodec = codecs.getDefaultCodec();
+ defaultCodec = codecs.getDefaultCodec();
if (defaultCodec == null) {
throw new IllegalArgumentException("CodecProvider returns null for getDefaultCodec()");
}
@@ -2571,7 +2572,7 @@ public class IndexWriter implements Clos
// abortable so that IW.close(false) is able to stop it
SegmentMerger merger = new SegmentMerger(directory, config.getTermIndexInterval(),
mergedName, null, payloadProcessorProvider,
- new FieldInfos(globalFieldNumberMap), codecs, context);
+ new FieldInfos(globalFieldNumberMap), defaultCodec, context);
for (IndexReader reader : readers) // add new indexes
merger.add(reader);
@@ -3637,7 +3638,7 @@ public class IndexWriter implements Clos
IOContext context = new IOContext(merge.getMergeInfo());
SegmentMerger merger = new SegmentMerger(directory, config.getTermIndexInterval(), mergedName, merge,
- payloadProcessorProvider, merge.info.getFieldInfos(), codecs, context);
+ payloadProcessorProvider, merge.info.getFieldInfos(), defaultCodec, context);
if (infoStream != null) {
message("merging " + merge.segString(directory) + " mergeVectors=" + merge.info.getFieldInfos().hasVectors());
Modified: lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java?rev=1195026&r1=1195025&r2=1195026&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/java/org/apache/lucene/index/SegmentMerger.java Sat Oct 29 20:43:07 2011
@@ -28,8 +28,6 @@ import org.apache.lucene.index.FieldInfo
import org.apache.lucene.index.IndexReader.FieldOption;
import org.apache.lucene.index.MergePolicy.MergeAbortedException;
import org.apache.lucene.index.codecs.Codec;
-import org.apache.lucene.index.codecs.CodecProvider;
-import org.apache.lucene.index.codecs.PostingsFormat;
import org.apache.lucene.index.codecs.FieldsConsumer;
import org.apache.lucene.index.codecs.FieldsReader;
import org.apache.lucene.index.codecs.FieldsWriter;
@@ -68,7 +66,6 @@ final class SegmentMerger {
when merging stored fields */
private final static int MAX_RAW_MERGE_DOCS = 4192;
- private final CodecProvider codecs;
private Codec codec;
private SegmentWriteState segmentWriteState;
@@ -76,7 +73,7 @@ final class SegmentMerger {
private IOContext context;
- SegmentMerger(Directory dir, int termIndexInterval, String name, MergePolicy.OneMerge merge, PayloadProcessorProvider payloadProcessorProvider, FieldInfos fieldInfos, CodecProvider codecs, IOContext context) {
+ SegmentMerger(Directory dir, int termIndexInterval, String name, MergePolicy.OneMerge merge, PayloadProcessorProvider payloadProcessorProvider, FieldInfos fieldInfos, Codec codec, IOContext context) {
this.payloadProcessorProvider = payloadProcessorProvider;
directory = dir;
segment = name;
@@ -92,7 +89,7 @@ final class SegmentMerger {
};
}
this.termIndexInterval = termIndexInterval;
- this.codecs = codecs;
+ this.codec = codec;
this.context = context;
}
@@ -258,7 +255,6 @@ final class SegmentMerger {
fieldInfos.addOrUpdate(reader.getFieldNames(FieldOption.DOC_VALUES), false);
}
}
- codec = codecs.getDefaultCodec();
int docCount = 0;
Modified: lucene/dev/branches/lucene2621/lucene/src/test-framework/org/apache/lucene/index/RandomIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/test-framework/org/apache/lucene/index/RandomIndexWriter.java?rev=1195026&r1=1195025&r2=1195026&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/test-framework/org/apache/lucene/index/RandomIndexWriter.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/test-framework/org/apache/lucene/index/RandomIndexWriter.java Sat Oct 29 20:43:07 2011
@@ -367,7 +367,7 @@ public class RandomIndexWriter implement
// If we are writing with PreFlexRW, force a full
// IndexReader.open so terms are sorted in codepoint
// order during searching:
- if (!applyDeletions || !w.codecs.getDefaultCodec().getName().equals("Lucene3x") && r.nextBoolean()) {
+ if (!applyDeletions || !w.defaultCodec.getName().equals("Lucene3x") && r.nextBoolean()) {
if (LuceneTestCase.VERBOSE) {
System.out.println("RIW.getReader: use NRT reader");
}
Modified: lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDoc.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDoc.java?rev=1195026&r1=1195025&r2=1195026&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDoc.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestDoc.java Sat Oct 29 20:43:07 2011
@@ -198,7 +198,7 @@ public class TestDoc extends LuceneTestC
SegmentReader r1 = SegmentReader.get(true, si1, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, context);
SegmentReader r2 = SegmentReader.get(true, si2, IndexReader.DEFAULT_TERMS_INDEX_DIVISOR, context);
- SegmentMerger merger = new SegmentMerger(si1.dir, IndexWriterConfig.DEFAULT_TERM_INDEX_INTERVAL, merged, null, null, new FieldInfos(), CodecProvider.getDefault(), context);
+ SegmentMerger merger = new SegmentMerger(si1.dir, IndexWriterConfig.DEFAULT_TERM_INDEX_INTERVAL, merged, null, null, new FieldInfos(), CodecProvider.getDefault().getDefaultCodec(), context);
merger.add(r1);
merger.add(r2);
Modified: lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java?rev=1195026&r1=1195025&r2=1195026&view=diff
==============================================================================
--- lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java (original)
+++ lucene/dev/branches/lucene2621/lucene/src/test/org/apache/lucene/index/TestSegmentMerger.java Sat Oct 29 20:43:07 2011
@@ -75,7 +75,7 @@ public class TestSegmentMerger extends L
}
public void testMerge() throws IOException {
- SegmentMerger merger = new SegmentMerger(mergedDir, IndexWriterConfig.DEFAULT_TERM_INDEX_INTERVAL, mergedSegment, null, null, new FieldInfos(), CodecProvider.getDefault(), newIOContext(random));
+ SegmentMerger merger = new SegmentMerger(mergedDir, IndexWriterConfig.DEFAULT_TERM_INDEX_INTERVAL, mergedSegment, null, null, new FieldInfos(), CodecProvider.getDefault().getDefaultCodec(), newIOContext(random));
merger.add(reader1);
merger.add(reader2);
int docsMerged = merger.merge();
@@ -146,7 +146,7 @@ public class TestSegmentMerger extends L
w.close();
// Assert that SM fails if .del exists
- SegmentMerger sm = new SegmentMerger(dir, 1, "a", null, null, null, CodecProvider.getDefault(), newIOContext(random));
+ SegmentMerger sm = new SegmentMerger(dir, 1, "a", null, null, null, CodecProvider.getDefault().getDefaultCodec(), newIOContext(random));
try {
sm.createCompoundFile("b1", w.segmentInfos.info(0), newIOContext(random));
fail("should not have been able to create a .cfs with .del and .s* files");