You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2010/05/27 17:36:33 UTC
svn commit: r948861 [2/2] - in /lucene/dev/trunk: lucene/
lucene/contrib/misc/src/java/org/apache/lucene/misc/
lucene/src/java/org/apache/lucene/index/
lucene/src/java/org/apache/lucene/index/codecs/preflex/
lucene/src/java/org/apache/lucene/index/code...
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/SimpleStandardTermsIndexReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/SimpleStandardTermsIndexReader.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/SimpleStandardTermsIndexReader.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/SimpleStandardTermsIndexReader.java Thu May 27 15:36:32 2010
@@ -90,7 +90,7 @@ public class SimpleStandardTermsIndexRea
this.termComp = termComp;
- IndexInput in = dir.openInput(IndexFileNames.segmentFileName(segment, StandardCodec.TERMS_INDEX_EXTENSION));
+ IndexInput in = dir.openInput(IndexFileNames.segmentFileName(segment, "", StandardCodec.TERMS_INDEX_EXTENSION));
boolean success = false;
@@ -421,7 +421,7 @@ public class SimpleStandardTermsIndexRea
}
public static void files(Directory dir, SegmentInfo info, Collection<String> files) {
- files.add(IndexFileNames.segmentFileName(info.name, StandardCodec.TERMS_INDEX_EXTENSION));
+ files.add(IndexFileNames.segmentFileName(info.name, "", StandardCodec.TERMS_INDEX_EXTENSION));
}
public static void getIndexExtensions(Collection<String> extensions) {
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/SimpleStandardTermsIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/SimpleStandardTermsIndexWriter.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/SimpleStandardTermsIndexWriter.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/SimpleStandardTermsIndexWriter.java Thu May 27 15:36:32 2010
@@ -46,7 +46,7 @@ public class SimpleStandardTermsIndexWri
private IndexOutput termsOut;
public SimpleStandardTermsIndexWriter(SegmentWriteState state) throws IOException {
- final String indexFileName = IndexFileNames.segmentFileName(state.segmentName, StandardCodec.TERMS_INDEX_EXTENSION);
+ final String indexFileName = IndexFileNames.segmentFileName(state.segmentName, "", StandardCodec.TERMS_INDEX_EXTENSION);
state.flushedFiles.add(indexFileName);
termIndexInterval = state.termIndexInterval;
out = state.directory.createOutput(indexFileName);
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardPostingsReaderImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardPostingsReaderImpl.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardPostingsReaderImpl.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardPostingsReaderImpl.java Thu May 27 15:36:32 2010
@@ -44,12 +44,12 @@ public class StandardPostingsReaderImpl
int maxSkipLevels;
public StandardPostingsReaderImpl(Directory dir, SegmentInfo segmentInfo, int readBufferSize) throws IOException {
- freqIn = dir.openInput(IndexFileNames.segmentFileName(segmentInfo.name, StandardCodec.FREQ_EXTENSION),
+ freqIn = dir.openInput(IndexFileNames.segmentFileName(segmentInfo.name, "", StandardCodec.FREQ_EXTENSION),
readBufferSize);
if (segmentInfo.getHasProx()) {
boolean success = false;
try {
- proxIn = dir.openInput(IndexFileNames.segmentFileName(segmentInfo.name, StandardCodec.PROX_EXTENSION),
+ proxIn = dir.openInput(IndexFileNames.segmentFileName(segmentInfo.name, "", StandardCodec.PROX_EXTENSION),
readBufferSize);
success = true;
} finally {
@@ -63,9 +63,9 @@ public class StandardPostingsReaderImpl
}
public static void files(Directory dir, SegmentInfo segmentInfo, Collection<String> files) throws IOException {
- files.add(IndexFileNames.segmentFileName(segmentInfo.name, StandardCodec.FREQ_EXTENSION));
+ files.add(IndexFileNames.segmentFileName(segmentInfo.name, "", StandardCodec.FREQ_EXTENSION));
if (segmentInfo.getHasProx()) {
- files.add(IndexFileNames.segmentFileName(segmentInfo.name, StandardCodec.PROX_EXTENSION));
+ files.add(IndexFileNames.segmentFileName(segmentInfo.name, "", StandardCodec.PROX_EXTENSION));
}
}
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardPostingsWriterImpl.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardPostingsWriterImpl.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardPostingsWriterImpl.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardPostingsWriterImpl.java Thu May 27 15:36:32 2010
@@ -59,14 +59,14 @@ public final class StandardPostingsWrite
public StandardPostingsWriterImpl(SegmentWriteState state) throws IOException {
super();
- String fileName = IndexFileNames.segmentFileName(state.segmentName, StandardCodec.FREQ_EXTENSION);
+ String fileName = IndexFileNames.segmentFileName(state.segmentName, "", StandardCodec.FREQ_EXTENSION);
state.flushedFiles.add(fileName);
freqOut = state.directory.createOutput(fileName);
if (state.fieldInfos.hasProx()) {
// At least one field does not omit TF, so create the
// prox file
- fileName = IndexFileNames.segmentFileName(state.segmentName, StandardCodec.PROX_EXTENSION);
+ fileName = IndexFileNames.segmentFileName(state.segmentName, "", StandardCodec.PROX_EXTENSION);
state.flushedFiles.add(fileName);
proxOut = state.directory.createOutput(fileName);
} else {
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardTermsDictReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardTermsDictReader.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardTermsDictReader.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardTermsDictReader.java Thu May 27 15:36:32 2010
@@ -111,7 +111,7 @@ public class StandardTermsDictReader ext
this.termComp = termComp;
- in = dir.openInput(IndexFileNames.segmentFileName(segment, StandardCodec.TERMS_EXTENSION),
+ in = dir.openInput(IndexFileNames.segmentFileName(segment, "", StandardCodec.TERMS_EXTENSION),
readBufferSize);
boolean success = false;
@@ -186,7 +186,7 @@ public class StandardTermsDictReader ext
}
public static void files(Directory dir, SegmentInfo segmentInfo, Collection<String> files) {
- files.add(IndexFileNames.segmentFileName(segmentInfo.name, StandardCodec.TERMS_EXTENSION));
+ files.add(IndexFileNames.segmentFileName(segmentInfo.name, "", StandardCodec.TERMS_EXTENSION));
}
public static void getExtensions(Collection<String> extensions) {
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardTermsDictWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardTermsDictWriter.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardTermsDictWriter.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/codecs/standard/StandardTermsDictWriter.java Thu May 27 15:36:32 2010
@@ -64,7 +64,7 @@ public class StandardTermsDictWriter ext
private final Comparator<BytesRef> termComp;
public StandardTermsDictWriter(StandardTermsIndexWriter indexWriter, SegmentWriteState state, StandardPostingsWriter postingsWriter, Comparator<BytesRef> termComp) throws IOException {
- final String termsFileName = IndexFileNames.segmentFileName(state.segmentName, StandardCodec.TERMS_EXTENSION);
+ final String termsFileName = IndexFileNames.segmentFileName(state.segmentName, "", StandardCodec.TERMS_EXTENSION);
this.indexWriter = indexWriter;
this.termComp = termComp;
out = state.directory.createOutput(termsFileName);
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/Directory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/Directory.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/Directory.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/Directory.java Thu May 27 15:36:32 2010
@@ -22,7 +22,6 @@ import java.io.IOException;
import java.io.Closeable;
import java.util.Collection; // for javadocs
-import java.util.Arrays;
import org.apache.lucene.util.IOUtils;
/** A Directory is a flat list of files. Files may be written once, when they
@@ -198,77 +197,83 @@ public abstract class Directory implemen
return this.toString();
}
-
- /**
- * <p>Copy all files of this directory to destination directory. All conflicting files at destination are overwritten</p>
- * <p><b>NOTE:</b> this method only copies files that look like index files (ie, have extensions matching the known
- * extensions of index files).
- * <p><b>NOTE:</b> the source directory should not change while this method is running. Otherwise the results are
- * undefined and you could easily hit a FileNotFoundException. </p>
- *
- * @param to destination directory
- */
- public final void copyTo(Directory to) throws IOException {
- copyTo(to, Arrays.asList(listAll()));
- }
-
/**
- * <p>Copy given files of this directory to destination directory. All conflicting files at destination are overwritten</p>
- * <p><b>NOTE:</b> the source directory should not change while this method is running. Otherwise the results are
- * undefined and you could easily hit a FileNotFoundException. </p>
- * <p><b>NOTE:</b> implementations can check if destination directory is of the same type as 'this' and perform optimized copy</p>
- *
- * @param to destination directory
- * @param filenames file names to be copied
- */
- public void copyTo(Directory to, Collection<String> filenames) throws IOException {
- byte[] buf = new byte[BufferedIndexOutput.BUFFER_SIZE];
- for (String filename : filenames) {
- IndexOutput os = null;
- IndexInput is = null;
- IOException priorException = null;
- try {
- // create file in dest directory
- os = to.createOutput(filename);
- // read current file
- is = openInput(filename);
- // and copy to dest directory
- long len = is.length();
- long readCount = 0;
- while (readCount < len) {
- int toRead = readCount + BufferedIndexOutput.BUFFER_SIZE > len ? (int) (len - readCount) : BufferedIndexOutput.BUFFER_SIZE;
- is.readBytes(buf, 0, toRead);
- os.writeBytes(buf, toRead);
- readCount += toRead;
- }
- } catch (IOException ioe) {
- priorException = ioe;
- } finally {
- IOUtils.closeSafely(priorException, os, is);
+ * Copies the file <i>src</i> to {@link Directory} <i>to</i> under the new
+ * file name <i>dest</i>.
+ * <p>
+ * If you want to copy the entire source directory to the destination one, you
+ * can do so like this:
+ *
+ * <pre>
+ * Directory to; // the directory to copy to
+ * for (String file : dir.listAll()) {
+ * dir.copy(to, file, newFile); // newFile can be either file, or a new name
+ * }
+ * </pre>
+ * <p>
+ * <b>NOTE:</b> this method does not check whether <i>dest<i> exist and will
+ * overwrite it if it does.
+ */
+ public void copy(Directory to, String src, String dest) throws IOException {
+ IndexOutput os = null;
+ IndexInput is = null;
+ IOException priorException = null;
+ int bufSize = BufferedIndexOutput.BUFFER_SIZE;
+ byte[] buf = new byte[bufSize];
+ try {
+ // create file in dest directory
+ os = to.createOutput(dest);
+ // read current file
+ is = openInput(src);
+ // and copy to dest directory
+ long len = is.length();
+ long numRead = 0;
+ while (numRead < len) {
+ long left = len - numRead;
+ int toRead = (int) (bufSize < left ? bufSize : left);
+ is.readBytes(buf, 0, toRead);
+ os.writeBytes(buf, toRead);
+ numRead += toRead;
}
+ } catch (IOException ioe) {
+ priorException = ioe;
+ } finally {
+ IOUtils.closeSafely(priorException, os, is);
}
}
/**
- * Copy contents of a directory src to a directory dest. If a file in src already exists in dest then the one in dest
- * will be blindly overwritten.
- * <p/>
- * <p><b>NOTE:</b> the source directory cannot change while this method is running. Otherwise the results are
- * undefined and you could easily hit a FileNotFoundException.
- * <p/>
- * <p><b>NOTE:</b> this method only copies files that look like index files (ie, have extensions matching the known
- * extensions of index files).
- *
- * @param src source directory
- * @param dest destination directory
- * @param closeDirSrc if <code>true</code>, call {@link #close()} method on source directory
- * @deprecated should be replaced with src.copyTo(dest); [src.close();]
+ * Copy contents of a directory src to a directory dest. If a file in src
+ * already exists in dest then the one in dest will be blindly overwritten.
+ * <p>
+ * <b>NOTE:</b> the source directory cannot change while this method is
+ * running. Otherwise the results are undefined and you could easily hit a
+ * FileNotFoundException.
+ * <p>
+ * <b>NOTE:</b> this method only copies files that look like index files (ie,
+ * have extensions matching the known extensions of index files).
+ *
+ * @param src source directory
+ * @param dest destination directory
+ * @param closeDirSrc if <code>true</code>, call {@link #close()} method on
+ * source directory
+ * @deprecated should be replaced with calls to
+ * {@link #copy(Directory, String, String)} for every file that
+ * needs copying. You can use the following code:
+ *
+ * <pre>
+ * for (String file : src.listAll()) {
+ * src.copy(dest, file, file);
+ * }
+ * </pre>
*/
- @Deprecated
public static void copy(Directory src, Directory dest, boolean closeDirSrc) throws IOException {
- src.copyTo(dest);
- if (closeDirSrc)
+ for (String file : src.listAll()) {
+ src.copy(dest, file, file);
+ }
+ if (closeDirSrc) {
src.close();
+ }
}
/**
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/FSDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/FSDirectory.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/FSDirectory.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/FSDirectory.java Thu May 27 15:36:32 2010
@@ -431,29 +431,27 @@ public abstract class FSDirectory extend
}
@Override
- public void copyTo(Directory to, Collection<String> filenames) throws IOException {
+ public void copy(Directory to, String src, String dest) throws IOException {
if (to instanceof FSDirectory) {
FSDirectory target = (FSDirectory) to;
-
- for (String filename : filenames) {
- target.ensureCanWrite(filename);
- FileChannel input = null;
- FileChannel output = null;
- IOException priorException = null;
- try {
- input = new FileInputStream(new File(directory, filename)).getChannel();
- output = new FileOutputStream(new File(target.directory, filename)).getChannel();
- output.transferFrom(input, 0, input.size());
- } catch (IOException ioe) {
- priorException = ioe;
- } finally {
- IOUtils.closeSafely(priorException, input, output);
- }
+ target.ensureCanWrite(dest);
+ FileChannel input = null;
+ FileChannel output = null;
+ IOException priorException = null;
+ try {
+ input = new FileInputStream(new File(directory, src)).getChannel();
+ output = new FileOutputStream(new File(target.directory, dest)).getChannel();
+ output.transferFrom(input, 0, input.size());
+ } catch (IOException ioe) {
+ priorException = ioe;
+ } finally {
+ IOUtils.closeSafely(priorException, input, output);
}
- } else
- super.copyTo(to, filenames);
+ } else {
+ super.copy(to, src, dest);
+ }
}
-
+
protected static class FSIndexOutput extends BufferedIndexOutput {
private final FSDirectory parent;
private final String name;
Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/RAMDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/RAMDirectory.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/RAMDirectory.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/RAMDirectory.java Thu May 27 15:36:32 2010
@@ -23,6 +23,7 @@ import java.io.Serializable;
import java.util.HashMap;
import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
+
import org.apache.lucene.util.ThreadInterruptedException;
/**
@@ -68,7 +69,12 @@ public class RAMDirectory extends Direct
private RAMDirectory(Directory dir, boolean closeDir) throws IOException {
this();
- Directory.copy(dir, this, closeDir);
+ for (String file : dir.listAll()) {
+ dir.copy(this, file, file);
+ }
+ if (closeDir) {
+ dir.close();
+ }
}
@Override
Copied: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java (from r948393, lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexesNoOptimize.java)
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java?p2=lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java&p1=lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexesNoOptimize.java&r1=948393&r2=948861&rev=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexesNoOptimize.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestAddIndexes.java Thu May 27 15:36:32 2010
@@ -19,6 +19,7 @@ package org.apache.lucene.index;
import java.io.IOException;
+import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.document.Document;
@@ -29,9 +30,10 @@ import org.apache.lucene.store.RAMDirect
import org.apache.lucene.store.MockRAMDirectory;
import org.apache.lucene.util._TestUtil;
+import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.search.PhraseQuery;
-public class TestAddIndexesNoOptimize extends LuceneTestCase {
+public class TestAddIndexes extends LuceneTestCase {
public void testSimpleCase() throws IOException {
// main directory
Directory dir = new RAMDirectory();
@@ -67,7 +69,7 @@ public class TestAddIndexesNoOptimize ex
// test doc count before segments are merged
writer = newWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
assertEquals(100, writer.maxDoc());
- writer.addIndexesNoOptimize(new Directory[] { aux, aux2 });
+ writer.addIndexes(new Directory[] { aux, aux2 });
assertEquals(190, writer.maxDoc());
writer.close();
_TestUtil.checkIndex(dir);
@@ -89,7 +91,7 @@ public class TestAddIndexesNoOptimize ex
// test doc count before segments are merged/index is optimized
writer = newWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
assertEquals(190, writer.maxDoc());
- writer.addIndexesNoOptimize(new Directory[] { aux3 });
+ writer.addIndexes(new Directory[] { aux3 });
assertEquals(230, writer.maxDoc());
writer.close();
@@ -120,7 +122,7 @@ public class TestAddIndexesNoOptimize ex
writer = newWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
assertEquals(230, writer.maxDoc());
- writer.addIndexesNoOptimize(new Directory[] { aux4 });
+ writer.addIndexes(new Directory[] { aux4 });
assertEquals(231, writer.maxDoc());
writer.close();
@@ -138,7 +140,7 @@ public class TestAddIndexesNoOptimize ex
setUpDirs(dir, aux);
IndexWriter writer = newWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
- writer.addIndexesNoOptimize(new Directory[] {aux});
+ writer.addIndexes(new Directory[] {aux});
// Adds 10 docs, then replaces them with another 10
// docs, so 10 pending deletes:
@@ -181,13 +183,12 @@ public class TestAddIndexesNoOptimize ex
for (int i = 0; i < 20; i++) {
Document doc = new Document();
doc.add(new Field("id", "" + (i % 10), Field.Store.NO, Field.Index.NOT_ANALYZED));
- doc.add(new Field("content", "bbb " + i, Field.Store.NO,
- Field.Index.ANALYZED));
+ doc.add(new Field("content", "bbb " + i, Field.Store.NO, Field.Index.ANALYZED));
writer.updateDocument(new Term("id", "" + (i%10)), doc);
}
-
- writer.addIndexesNoOptimize(new Directory[] {aux});
-
+
+ writer.addIndexes(new Directory[] {aux});
+
// Deletes one of the 10 added docs, leaving 9:
PhraseQuery q = new PhraseQuery();
q.add(new Term("content", "bbb"));
@@ -231,7 +232,7 @@ public class TestAddIndexesNoOptimize ex
q.add(new Term("content", "14"));
writer.deleteDocuments(q);
- writer.addIndexesNoOptimize(new Directory[] {aux});
+ writer.addIndexes(new Directory[] {aux});
writer.optimize();
writer.commit();
@@ -275,7 +276,7 @@ public class TestAddIndexesNoOptimize ex
writer = newWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()).setOpenMode(OpenMode.APPEND));
try {
// cannot add self
- writer.addIndexesNoOptimize(new Directory[] { aux, dir });
+ writer.addIndexes(new Directory[] { aux, dir });
assertTrue(false);
}
catch (IllegalArgumentException e) {
@@ -288,7 +289,7 @@ public class TestAddIndexesNoOptimize ex
}
// in all the remaining tests, make the doc count of the oldest segment
- // in dir large so that it is never merged in addIndexesNoOptimize()
+ // in dir large so that it is never merged in addIndexes()
// case 1: no tail segments
public void testNoTailSegments() throws IOException {
// main directory
@@ -304,9 +305,8 @@ public class TestAddIndexesNoOptimize ex
((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4);
addDocs(writer, 10);
- writer.addIndexesNoOptimize(new Directory[] { aux });
+ writer.addIndexes(new Directory[] { aux });
assertEquals(1040, writer.maxDoc());
- assertEquals(2, writer.getSegmentCount());
assertEquals(1000, writer.getDocCount(0));
writer.close();
@@ -327,9 +327,8 @@ public class TestAddIndexesNoOptimize ex
((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4);
addDocs(writer, 2);
- writer.addIndexesNoOptimize(new Directory[] { aux });
+ writer.addIndexes(new Directory[] { aux });
assertEquals(1032, writer.maxDoc());
- assertEquals(2, writer.getSegmentCount());
assertEquals(1000, writer.getDocCount(0));
writer.close();
@@ -351,7 +350,7 @@ public class TestAddIndexesNoOptimize ex
.setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(10));
((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4);
- writer.addIndexesNoOptimize(new Directory[] { aux, new RAMDirectory(aux) });
+ writer.addIndexes(new Directory[] { aux, new RAMDirectory(aux) });
assertEquals(1060, writer.maxDoc());
assertEquals(1000, writer.getDocCount(0));
writer.close();
@@ -381,13 +380,10 @@ public class TestAddIndexesNoOptimize ex
.setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(4));
((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4);
- writer.addIndexesNoOptimize(new Directory[] { aux, new RAMDirectory(aux) });
- assertEquals(1020, writer.maxDoc());
+ writer.addIndexes(new Directory[] { aux, new RAMDirectory(aux) });
+ assertEquals(1060, writer.maxDoc());
assertEquals(1000, writer.getDocCount(0));
writer.close();
-
- // make sure the index is correct
- verifyNumDocs(dir, 1020);
}
// case 5: tail segments, invariants not hold
@@ -404,7 +400,7 @@ public class TestAddIndexesNoOptimize ex
TEST_VERSION_CURRENT, new MockAnalyzer())
.setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(100));
((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(10);
- writer.addIndexesNoOptimize(new Directory[] { aux });
+ writer.addIndexes(new Directory[] { aux });
assertEquals(30, writer.maxDoc());
assertEquals(3, writer.getSegmentCount());
writer.close();
@@ -427,13 +423,10 @@ public class TestAddIndexesNoOptimize ex
.setOpenMode(OpenMode.APPEND).setMaxBufferedDocs(6));
((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(4);
- writer.addIndexesNoOptimize(new Directory[] { aux, aux2 });
- assertEquals(1025, writer.maxDoc());
+ writer.addIndexes(new Directory[] { aux, aux2 });
+ assertEquals(1060, writer.maxDoc());
assertEquals(1000, writer.getDocCount(0));
writer.close();
-
- // make sure the index is correct
- verifyNumDocs(dir, 1025);
}
private IndexWriter newWriter(Directory dir, IndexWriterConfig conf)
@@ -471,9 +464,9 @@ public class TestAddIndexesNoOptimize ex
private void verifyTermDocs(Directory dir, Term term, int numDocs)
throws IOException {
IndexReader reader = IndexReader.open(dir, true);
- TermDocs termDocs = reader.termDocs(term);
+ DocsEnum docsEnum = MultiFields.getTermDocsEnum(reader, null, term.field, new BytesRef(term.text));
int count = 0;
- while (termDocs.next())
+ while (docsEnum.nextDoc() != DocIdSetIterator.NO_MORE_DOCS)
count++;
assertEquals(numDocs, count);
reader.close();
@@ -547,28 +540,10 @@ public class TestAddIndexesNoOptimize ex
writer = new IndexWriter(dir2, new IndexWriterConfig(TEST_VERSION_CURRENT,
new MockAnalyzer())
.setMergeScheduler(new SerialMergeScheduler()).setMergePolicy(lmp));
- writer.addIndexesNoOptimize(new Directory[] {dir});
+ writer.addIndexes(new Directory[] {dir});
writer.close();
dir.close();
dir2.close();
}
- // LUCENE-1642: make sure CFS of destination indexwriter
- // is respected when copying tail segments
- public void testTargetCFS() throws IOException {
- Directory dir = new RAMDirectory();
- IndexWriter writer = newWriter(dir, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(false);
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(false);
- addDocs(writer, 1);
- writer.close();
-
- Directory other = new RAMDirectory();
- writer = newWriter(other, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundFile(true);
- ((LogMergePolicy) writer.getConfig().getMergePolicy()).setUseCompoundDocStore(true);
- writer.addIndexesNoOptimize(new Directory[] {dir});
- assertTrue(writer.newestSegment().getUseCompoundFile());
- writer.close();
- }
}
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java Thu May 27 15:36:32 2010
@@ -41,6 +41,7 @@ import org.apache.lucene.document.FieldS
import org.apache.lucene.document.FieldSelectorResult;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.document.NumericField;
+import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.search.FieldCache;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.ScoreDoc;
@@ -48,6 +49,7 @@ import org.apache.lucene.search.TermQuer
import org.apache.lucene.search.NumericRangeQuery;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
+import org.apache.lucene.store.RAMDirectory;
import org.apache.lucene.util.ReaderUtil;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util._TestUtil;
@@ -112,7 +114,7 @@ public class TestBackwardsCompatibility
zipFile.close();
}
-
+/*
public void testCreateCFS() throws IOException {
String dirName = "testindex.cfs";
createIndex(dirName, true);
@@ -125,6 +127,7 @@ public class TestBackwardsCompatibility
rmDir(dirName);
}
+*/
final String[] oldNames = {"19.cfs",
"19.nocfs",
"20.cfs",
@@ -141,6 +144,8 @@ public class TestBackwardsCompatibility
"29.nocfs",
"30.cfs",
"30.nocfs",
+ "31.cfs",
+ "31.nocfs",
};
private void assertCompressedFields29(Directory dir, boolean shouldStillBeCompressed) throws IOException {
@@ -246,6 +251,46 @@ public class TestBackwardsCompatibility
assertEquals("test for compressed field should have run 4 times", 4, hasTested29);
}
+ public void testAddOldIndexes() throws IOException {
+ for (String name : oldNames) {
+ unzip(getDataFile("index." + name + ".zip"), name);
+ String fullPath = fullDir(name);
+ Directory dir = FSDirectory.open(new File(fullPath));
+
+ Directory targetDir = new RAMDirectory();
+ IndexWriter w = new IndexWriter(targetDir, new IndexWriterConfig(
+ TEST_VERSION_CURRENT, new MockAnalyzer()));
+ w.addIndexes(new Directory[] { dir });
+ w.close();
+
+ _TestUtil.checkIndex(targetDir);
+
+ dir.close();
+ rmDir(name);
+ }
+ }
+
+ public void testAddOldIndexesReader() throws IOException {
+ for (String name : oldNames) {
+ unzip(getDataFile("index." + name + ".zip"), name);
+ String fullPath = fullDir(name);
+ Directory dir = FSDirectory.open(new File(fullPath));
+ IndexReader reader = IndexReader.open(dir);
+
+ Directory targetDir = new RAMDirectory();
+ IndexWriter w = new IndexWriter(targetDir, new IndexWriterConfig(
+ TEST_VERSION_CURRENT, new MockAnalyzer()));
+ w.addIndexes(new IndexReader[] { reader });
+ w.close();
+ reader.close();
+
+ _TestUtil.checkIndex(targetDir);
+
+ dir.close();
+ rmDir(name);
+ }
+ }
+
public void testSearchOldIndex() throws IOException {
for(int i=0;i<oldNames.length;i++) {
unzip(getDataFile("index." + oldNames[i] + ".zip"), oldNames[i]);
@@ -659,7 +704,7 @@ public class TestBackwardsCompatibility
private int countDocs(DocsEnum docs) throws IOException {
int count = 0;
- while((docs.nextDoc()) != DocsEnum.NO_MORE_DOCS) {
+ while((docs.nextDoc()) != DocIdSetIterator.NO_MORE_DOCS) {
count ++;
}
return count;
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexReaderCloneNorms.java Thu May 27 15:36:32 2010
@@ -117,7 +117,7 @@ public class TestIndexReaderCloneNorms e
TEST_VERSION_CURRENT, anlzr).setOpenMode(OpenMode.APPEND)
.setMaxBufferedDocs(5));
((LogMergePolicy) iw.getConfig().getMergePolicy()).setMergeFactor(3);
- iw.addIndexesNoOptimize(new Directory[] { dir1, dir2 });
+ iw.addIndexes(new Directory[] { dir1, dir2 });
iw.optimize();
iw.close();
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriter.java Thu May 27 15:36:32 2010
@@ -159,7 +159,7 @@ public class TestIndexWriter extends Luc
/*
Test: make sure when we run out of disk space or hit
- random IOExceptions in any of the addIndexesNoOptimize(*) calls
+ random IOExceptions in any of the addIndexes(*) calls
that 1) index is not corrupt (searcher can open/search
it) and 2) transactional semantics are followed:
either all or none of the incoming documents were in
@@ -172,7 +172,7 @@ public class TestIndexWriter extends Luc
int END_COUNT = START_COUNT + NUM_DIR*25;
// Build up a bunch of dirs that have indexes which we
- // will then merge together by calling addIndexesNoOptimize(*):
+ // will then merge together by calling addIndexes(*):
Directory[] dirs = new Directory[NUM_DIR];
long inputDiskUsage = 0;
for(int i=0;i<NUM_DIR;i++) {
@@ -210,12 +210,12 @@ public class TestIndexWriter extends Luc
// Iterate with larger and larger amounts of free
// disk space. With little free disk space,
- // addIndexesNoOptimize will certainly run out of space &
+ // addIndexes will certainly run out of space &
// fail. Verify that when this happens, index is
// not corrupt and index in fact has added no
// documents. Then, we increase disk space by 2000
// bytes each iteration. At some point there is
- // enough free disk space and addIndexesNoOptimize should
+ // enough free disk space and addIndexes should
// succeed and index should show all documents were
// added.
@@ -247,7 +247,7 @@ public class TestIndexWriter extends Luc
} else if (1 == method) {
methodName = "addIndexes(IndexReader[])";
} else {
- methodName = "addIndexesNoOptimize(Directory[])";
+ methodName = "addIndexes(Directory[])";
}
while(!done) {
@@ -307,7 +307,7 @@ public class TestIndexWriter extends Luc
try {
if (0 == method) {
- writer.addIndexesNoOptimize(dirs);
+ writer.addIndexes(dirs);
writer.optimize();
} else if (1 == method) {
IndexReader readers[] = new IndexReader[dirs.length];
@@ -322,7 +322,7 @@ public class TestIndexWriter extends Luc
}
}
} else {
- writer.addIndexesNoOptimize(dirs);
+ writer.addIndexes(dirs);
}
success = true;
@@ -2732,7 +2732,7 @@ public class TestIndexWriter extends Luc
new LogDocMergePolicy()));
Directory[] indexDirs = {new MockRAMDirectory(dir)};
- writer.addIndexesNoOptimize(indexDirs);
+ writer.addIndexes(indexDirs);
writer.optimize();
writer.close();
}
@@ -3595,7 +3595,6 @@ public class TestIndexWriter extends Luc
final int NUM_COPY;
final static int NUM_THREADS = 5;
final Thread[] threads = new Thread[NUM_THREADS];
- final ConcurrentMergeScheduler cms;
public RunAddIndexesThreads(int numCopy) throws Throwable {
NUM_COPY = numCopy;
@@ -3610,7 +3609,6 @@ public class TestIndexWriter extends Luc
dir2 = new MockRAMDirectory();
writer2 = new IndexWriter(dir2, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
writer2.commit();
- cms = (ConcurrentMergeScheduler) writer2.getConfig().getMergeScheduler();
readers = new IndexReader[NUM_COPY];
for(int i=0;i<NUM_COPY;i++)
@@ -3683,18 +3681,22 @@ public class TestIndexWriter extends Luc
@Override
void doBody(int j, Directory[] dirs) throws Throwable {
- switch(j%4) {
+ switch(j%5) {
case 0:
- writer2.addIndexesNoOptimize(dirs);
+ writer2.addIndexes(dirs);
writer2.optimize();
break;
case 1:
- writer2.addIndexesNoOptimize(dirs);
+ writer2.addIndexes(dirs);
break;
case 2:
writer2.addIndexes(readers);
break;
case 3:
+ writer2.addIndexes(dirs);
+ writer2.maybeMerge();
+ break;
+ case 4:
writer2.commit();
}
}
@@ -3704,7 +3706,7 @@ public class TestIndexWriter extends Luc
// from multiple threads
public void testAddIndexesWithThreads() throws Throwable {
- final int NUM_ITER = 12;
+ final int NUM_ITER = 15;
final int NUM_COPY = 3;
CommitAndAddIndexes c = new CommitAndAddIndexes(NUM_COPY);
c.launchThreads(NUM_ITER);
@@ -3714,7 +3716,8 @@ public class TestIndexWriter extends Luc
c.joinThreads();
- assertEquals(100+NUM_COPY*(3*NUM_ITER/4)*RunAddIndexesThreads.NUM_THREADS*RunAddIndexesThreads.NUM_INIT_DOCS, c.writer2.numDocs());
+ int expectedNumDocs = 100+NUM_COPY*(4*NUM_ITER/5)*RunAddIndexesThreads.NUM_THREADS*RunAddIndexesThreads.NUM_INIT_DOCS;
+ assertEquals(expectedNumDocs, c.writer2.numDocs());
c.close(true);
@@ -3723,7 +3726,7 @@ public class TestIndexWriter extends Luc
_TestUtil.checkIndex(c.dir2);
IndexReader reader = IndexReader.open(c.dir2, true);
- assertEquals(100+NUM_COPY*(3*NUM_ITER/4)*RunAddIndexesThreads.NUM_THREADS*RunAddIndexesThreads.NUM_INIT_DOCS, reader.numDocs());
+ assertEquals(expectedNumDocs, reader.numDocs());
reader.close();
c.closeDir();
@@ -3774,11 +3777,11 @@ public class TestIndexWriter extends Luc
void doBody(int j, Directory[] dirs) throws Throwable {
switch(j%5) {
case 0:
- writer2.addIndexesNoOptimize(dirs);
+ writer2.addIndexes(dirs);
writer2.optimize();
break;
case 1:
- writer2.addIndexesNoOptimize(dirs);
+ writer2.addIndexes(dirs);
break;
case 2:
writer2.addIndexes(readers);
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterMerging.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterMerging.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterMerging.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterMerging.java Thu May 27 15:36:32 2010
@@ -30,11 +30,10 @@ public class TestIndexWriterMerging exte
{
/**
- * Tests that index merging (specifically addIndexesNoOptimize()) doesn't
+ * Tests that index merging (specifically addIndexes(Directory...)) doesn't
* change the index order of documents.
*/
- public void testLucene() throws IOException
- {
+ public void testLucene() throws IOException {
int num=100;
@@ -60,7 +59,7 @@ public class TestIndexWriterMerging exte
IndexWriter writer = new IndexWriter(merged, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
((LogMergePolicy) writer.getConfig().getMergePolicy()).setMergeFactor(2);
- writer.addIndexesNoOptimize(new Directory[]{indexA, indexB});
+ writer.addIndexes(new Directory[]{indexA, indexB});
writer.optimize();
writer.close();
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestIndexWriterReader.java Thu May 27 15:36:32 2010
@@ -151,7 +151,7 @@ public class TestIndexWriterReader exten
IndexReader r0 = writer.getReader();
assertTrue(r0.isCurrent());
- writer.addIndexesNoOptimize(new Directory[] { dir2 });
+ writer.addIndexes(new Directory[] { dir2 });
assertFalse(r0.isCurrent());
r0.close();
@@ -191,11 +191,11 @@ public class TestIndexWriterReader exten
createIndexNoClose(!optimize, "index2", writer2);
writer2.close();
- writer.addIndexesNoOptimize(new Directory[] { dir2 });
- writer.addIndexesNoOptimize(new Directory[] { dir2 });
- writer.addIndexesNoOptimize(new Directory[] { dir2 });
- writer.addIndexesNoOptimize(new Directory[] { dir2 });
- writer.addIndexesNoOptimize(new Directory[] { dir2 });
+ writer.addIndexes(new Directory[] { dir2 });
+ writer.addIndexes(new Directory[] { dir2 });
+ writer.addIndexes(new Directory[] { dir2 });
+ writer.addIndexes(new Directory[] { dir2 });
+ writer.addIndexes(new Directory[] { dir2 });
IndexReader r1 = writer.getReader();
assertEquals(500, r1.maxDoc());
@@ -303,7 +303,7 @@ public class TestIndexWriterReader exten
IndexReader[] readers;
boolean didClose = false;
HeavyAtomicInt count = new HeavyAtomicInt(0);
- HeavyAtomicInt numAddIndexesNoOptimize = new HeavyAtomicInt(0);
+ HeavyAtomicInt numaddIndexes = new HeavyAtomicInt(0);
public AddDirectoriesThreads(int numDirs, IndexWriter mainWriter) throws Throwable {
this.numDirs = numDirs;
@@ -363,7 +363,7 @@ public class TestIndexWriterReader exten
// System.out.println(Thread.currentThread().getName() + ": iter
// j=" + j);
for (int x=0; x < numIter; x++) {
- // only do addIndexesNoOptimize
+ // only do addIndexes
doBody(x, dirs);
}
//if (numIter > 0 && j == numIter)
@@ -384,12 +384,12 @@ public class TestIndexWriterReader exten
void doBody(int j, Directory[] dirs) throws Throwable {
switch (j % 4) {
case 0:
- mainWriter.addIndexesNoOptimize(dirs);
+ mainWriter.addIndexes(dirs);
mainWriter.optimize();
break;
case 1:
- mainWriter.addIndexesNoOptimize(dirs);
- numAddIndexesNoOptimize.incrementAndGet();
+ mainWriter.addIndexes(dirs);
+ numaddIndexes.incrementAndGet();
break;
case 2:
mainWriter.addIndexes(readers);
@@ -650,7 +650,7 @@ public class TestIndexWriterReader exten
public void run() {
do {
try {
- writer.addIndexesNoOptimize(dirs);
+ writer.addIndexes(dirs);
} catch (Throwable t) {
excs.add(t);
throw new RuntimeException(t);
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestNorms.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestNorms.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestNorms.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestNorms.java Thu May 27 15:36:32 2010
@@ -35,7 +35,7 @@ import org.apache.lucene.util.LuceneTest
/**
* Test that norms info is preserved during index life - including
- * separate norms, addDocument, addIndexesNoOptimize, optimize.
+ * separate norms, addDocument, addIndexes, optimize.
*/
public class TestNorms extends LuceneTestCase {
@@ -104,7 +104,7 @@ public class TestNorms extends LuceneTes
TEST_VERSION_CURRENT, anlzr).setOpenMode(OpenMode.APPEND)
.setMaxBufferedDocs(5));
((LogMergePolicy) iw.getConfig().getMergePolicy()).setMergeFactor(3);
- iw.addIndexesNoOptimize(new Directory[]{dir1,dir2});
+ iw.addIndexes(new Directory[]{dir1,dir2});
iw.optimize();
iw.close();
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestPayloadProcessorProvider.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestPayloadProcessorProvider.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestPayloadProcessorProvider.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestPayloadProcessorProvider.java Thu May 27 15:36:32 2010
@@ -172,7 +172,7 @@ public class TestPayloadProcessorProvide
}
}
- private void doTest(boolean addIndexesNoOptimize, boolean addToEmptyIndex,
+ private void doTest(boolean addToEmptyIndex,
int numExpectedPayloads, boolean multipleCommits) throws IOException {
Directory[] dirs = new Directory[2];
populateDirs(dirs, multipleCommits);
@@ -193,20 +193,16 @@ public class TestPayloadProcessorProvide
IndexWriter writer = new IndexWriter(dir, getConfig());
writer.setPayloadProcessorProvider(new PerDirPayloadProcessor(processors));
- if (!addIndexesNoOptimize) {
- IndexReader[] readers = new IndexReader[dirs.length];
- for (int i = 0; i < readers.length; i++) {
- readers[i] = IndexReader.open(dirs[i]);
- }
- try {
- writer.addIndexes(readers);
- } finally {
- for (IndexReader r : readers) {
- r.close();
- }
+ IndexReader[] readers = new IndexReader[dirs.length];
+ for (int i = 0; i < readers.length; i++) {
+ readers[i] = IndexReader.open(dirs[i]);
+ }
+ try {
+ writer.addIndexes(readers);
+ } finally {
+ for (IndexReader r : readers) {
+ r.close();
}
- } else {
- writer.addIndexesNoOptimize(dirs);
}
writer.close();
verifyPayloadExists(dir, "p", new BytesRef("p1"), numExpectedPayloads);
@@ -219,31 +215,19 @@ public class TestPayloadProcessorProvide
@Test
public void testAddIndexes() throws Exception {
// addIndexes - single commit in each
- doTest(false, true, 0, false);
+ doTest(true, 0, false);
// addIndexes - multiple commits in each
- doTest(false, true, 0, true);
-
- // addIndexesNoOptimize - single commit in each
- doTest(true, true, 0, false);
-
- // addIndexesNoOptimize - multiple commits in each
- doTest(true, true, 0, true);
+ doTest(true, 0, true);
}
@Test
public void testAddIndexesIntoExisting() throws Exception {
// addIndexes - single commit in each
- doTest(false, false, NUM_DOCS, false);
+ doTest(false, NUM_DOCS, false);
// addIndexes - multiple commits in each
- doTest(false, false, NUM_DOCS, true);
-
- // addIndexesNoOptimize - single commit in each
- doTest(true, false, NUM_DOCS, false);
-
- // addIndexesNoOptimize - multiple commits in each
- doTest(true, false, NUM_DOCS, true);
+ doTest(false, NUM_DOCS, true);
}
@Test
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermVectorsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermVectorsReader.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermVectorsReader.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/TestTermVectorsReader.java Thu May 27 15:36:32 2010
@@ -117,7 +117,7 @@ public class TestTermVectorsReader exten
seg = writer.newestSegment().name;
writer.close();
- fieldInfos = new FieldInfos(dir, IndexFileNames.segmentFileName(seg, IndexFileNames.FIELD_INFOS_EXTENSION));
+ fieldInfos = new FieldInfos(dir, IndexFileNames.segmentFileName(seg, "", IndexFileNames.FIELD_INFOS_EXTENSION));
}
private class MyTokenStream extends TokenStream {
@@ -161,8 +161,8 @@ public class TestTermVectorsReader exten
public void test() {
//Check to see the files were created properly in setup
- assertTrue(dir.fileExists(IndexFileNames.segmentFileName(seg, IndexFileNames.VECTORS_DOCUMENTS_EXTENSION)));
- assertTrue(dir.fileExists(IndexFileNames.segmentFileName(seg, IndexFileNames.VECTORS_INDEX_EXTENSION)));
+ assertTrue(dir.fileExists(IndexFileNames.segmentFileName(seg, "", IndexFileNames.VECTORS_DOCUMENTS_EXTENSION)));
+ assertTrue(dir.fileExists(IndexFileNames.segmentFileName(seg, "", IndexFileNames.VECTORS_INDEX_EXTENSION)));
}
public void testReader() throws IOException {
Added: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/index.31.cfs.zip
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/index.31.cfs.zip?rev=948861&view=auto
==============================================================================
Binary file - no diff available.
Propchange: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/index.31.cfs.zip
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/index.31.nocfs.zip
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/index.31.nocfs.zip?rev=948861&view=auto
==============================================================================
Binary file - no diff available.
Propchange: lucene/dev/trunk/lucene/src/test/org/apache/lucene/index/index.31.nocfs.zip
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBoolean2.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBoolean2.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBoolean2.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/TestBoolean2.java Thu May 27 15:36:32 2010
@@ -70,7 +70,7 @@ public class TestBoolean2 extends Lucene
do {
final Directory copy = new RAMDirectory(dir2);
IndexWriter w = new IndexWriter(dir2, new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer()));
- w.addIndexesNoOptimize(new Directory[] {copy});
+ w.addIndexes(new Directory[] {copy});
docCount = w.maxDoc();
w.close();
mulFactor *= 2;
Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/core/RefCntRamDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/core/RefCntRamDirectory.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/core/RefCntRamDirectory.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/core/RefCntRamDirectory.java Thu May 27 15:36:32 2010
@@ -3,6 +3,7 @@ package org.apache.solr.core;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.lucene.index.IndexFileNameFilter;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.RAMDirectory;
@@ -17,7 +18,9 @@ public class RefCntRamDirectory extends
public RefCntRamDirectory(Directory dir) throws IOException {
this();
- dir.copyTo(this);
+ for (String file : dir.listAll()) {
+ dir.copy(this, file, file);
+ }
}
public void incRef() {
Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/update/DirectUpdateHandler2.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/update/DirectUpdateHandler2.java?rev=948861&r1=948860&r2=948861&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/update/DirectUpdateHandler2.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/update/DirectUpdateHandler2.java Thu May 27 15:36:32 2010
@@ -353,7 +353,7 @@ public class DirectUpdateHandler2 extend
Directory[] dirs = cmd.dirs;
if (dirs != null && dirs.length > 0) {
openWriter();
- writer.addIndexesNoOptimize(dirs);
+ writer.addIndexes(dirs);
rc = 1;
} else {
rc = 0;