You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2012/05/17 19:00:31 UTC
svn commit: r1339711 [2/2] - in /lucene/dev/branches/lucene4055/lucene:
core/src/java/org/apache/lucene/codecs/
core/src/java/org/apache/lucene/codecs/lucene3x/
core/src/java/org/apache/lucene/codecs/lucene40/
core/src/java/org/apache/lucene/codecs/per...
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java?rev=1339711&r1=1339710&r2=1339711&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestConsistentFieldNumbers.java Thu May 17 17:00:29 2012
@@ -26,9 +26,12 @@ import org.apache.lucene.document.FieldT
import org.apache.lucene.document.StoredField;
import org.apache.lucene.document.StringField;
import org.apache.lucene.document.TextField;
+import org.apache.lucene.store.CompoundFileDirectory;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.apache.lucene.util.FailOnNonBulkMergesInfoStream;
import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util._TestUtil;
import org.junit.Test;
public class TestConsistentFieldNumbers extends LuceneTestCase {
@@ -66,8 +69,8 @@ public class TestConsistentFieldNumbers
sis.read(dir);
assertEquals(2, sis.size());
- FieldInfos fis1 = sis.info(0).getFieldInfos();
- FieldInfos fis2 = sis.info(1).getFieldInfos();
+ FieldInfos fis1 = _TestUtil.getFieldInfos(sis.info(0));
+ FieldInfos fis2 = _TestUtil.getFieldInfos(sis.info(1));
assertEquals("f1", fis1.fieldInfo(0).name);
assertEquals("f2", fis1.fieldInfo(1).name);
@@ -84,7 +87,7 @@ public class TestConsistentFieldNumbers
sis.read(dir);
assertEquals(1, sis.size());
- FieldInfos fis3 = sis.info(0).getFieldInfos();
+ FieldInfos fis3 = _TestUtil.getFieldInfos(sis.info(0));
assertEquals("f1", fis3.fieldInfo(0).name);
assertEquals("f2", fis3.fieldInfo(1).name);
@@ -129,8 +132,8 @@ public class TestConsistentFieldNumbers
sis.read(dir1);
assertEquals(2, sis.size());
- FieldInfos fis1 = sis.info(0).getFieldInfos();
- FieldInfos fis2 = sis.info(1).getFieldInfos();
+ FieldInfos fis1 = _TestUtil.getFieldInfos(sis.info(0));
+ FieldInfos fis2 = _TestUtil.getFieldInfos(sis.info(1));
assertEquals("f1", fis1.fieldInfo(0).name);
assertEquals("f2", fis1.fieldInfo(1).name);
@@ -140,22 +143,6 @@ public class TestConsistentFieldNumbers
assertEquals("f3", fis2.fieldInfo(2).name);
assertEquals("f4", fis2.fieldInfo(3).name);
- writer = new IndexWriter(dir1, newIndexWriterConfig( TEST_VERSION_CURRENT, new MockAnalyzer(random())));
- writer.forceMerge(1);
- writer.close();
-
- sis = new SegmentInfos();
- sis.read(dir1);
- assertEquals(1, sis.size());
-
- FieldInfos fis3 = sis.info(0).getFieldInfos();
-
- // after merging the ordering should be identical to the first segment
- assertEquals("f1", fis3.fieldInfo(0).name);
- assertEquals("f2", fis3.fieldInfo(1).name);
- assertEquals("f3", fis3.fieldInfo(2).name);
- assertEquals("f4", fis3.fieldInfo(3).name);
-
dir1.close();
dir2.close();
}
@@ -176,7 +163,7 @@ public class TestConsistentFieldNumbers
SegmentInfos sis = new SegmentInfos();
sis.read(dir);
assertEquals(1, sis.size());
- FieldInfos fis1 = sis.info(0).getFieldInfos();
+ FieldInfos fis1 = _TestUtil.getFieldInfos(sis.info(0));
assertEquals("f1", fis1.fieldInfo(0).name);
assertEquals("f2", fis1.fieldInfo(1).name);
}
@@ -195,8 +182,8 @@ public class TestConsistentFieldNumbers
SegmentInfos sis = new SegmentInfos();
sis.read(dir);
assertEquals(2, sis.size());
- FieldInfos fis1 = sis.info(0).getFieldInfos();
- FieldInfos fis2 = sis.info(1).getFieldInfos();
+ FieldInfos fis1 = _TestUtil.getFieldInfos(sis.info(0));
+ FieldInfos fis2 = _TestUtil.getFieldInfos(sis.info(1));
assertEquals("f1", fis1.fieldInfo(0).name);
assertEquals("f2", fis1.fieldInfo(1).name);
assertEquals("f1", fis2.fieldInfo(0).name);
@@ -218,9 +205,9 @@ public class TestConsistentFieldNumbers
SegmentInfos sis = new SegmentInfos();
sis.read(dir);
assertEquals(3, sis.size());
- FieldInfos fis1 = sis.info(0).getFieldInfos();
- FieldInfos fis2 = sis.info(1).getFieldInfos();
- FieldInfos fis3 = sis.info(2).getFieldInfos();
+ FieldInfos fis1 = _TestUtil.getFieldInfos(sis.info(0));
+ FieldInfos fis2 = _TestUtil.getFieldInfos(sis.info(1));
+ FieldInfos fis3 = _TestUtil.getFieldInfos(sis.info(2));
assertEquals("f1", fis1.fieldInfo(0).name);
assertEquals("f2", fis1.fieldInfo(1).name);
assertEquals("f1", fis2.fieldInfo(0).name);
@@ -252,7 +239,7 @@ public class TestConsistentFieldNumbers
SegmentInfos sis = new SegmentInfos();
sis.read(dir);
assertEquals(1, sis.size());
- FieldInfos fis1 = sis.info(0).getFieldInfos();
+ FieldInfos fis1 = _TestUtil.getFieldInfos(sis.info(0));
assertEquals("f1", fis1.fieldInfo(0).name);
assertEquals("f2", fis1.fieldInfo(1).name);
assertEquals("f3", fis1.fieldInfo(2).name);
@@ -290,7 +277,7 @@ public class TestConsistentFieldNumbers
SegmentInfos sis = new SegmentInfos();
sis.read(dir);
for (SegmentInfo si : sis) {
- FieldInfos fis = si.getFieldInfos();
+ FieldInfos fis = _TestUtil.getFieldInfos(si);
for (FieldInfo fi : fis) {
Field expected = getField(Integer.parseInt(fi.name));
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestDoc.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestDoc.java?rev=1339711&r1=1339710&r2=1339711&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestDoc.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestDoc.java Thu May 17 17:00:29 2012
@@ -22,10 +22,8 @@ import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
-
-import java.util.LinkedList;
import java.util.Collection;
-
+import java.util.LinkedList;
import org.apache.lucene.analysis.MockAnalyzer;
import org.apache.lucene.codecs.Codec;
@@ -35,6 +33,7 @@ import org.apache.lucene.index.IndexWrit
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.IOContext;
+import org.apache.lucene.util.Constants;
import org.apache.lucene.util.InfoStream;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util._TestUtil;
@@ -201,15 +200,20 @@ public class TestDoc extends LuceneTestC
MergeState mergeState = merger.merge();
r1.close();
r2.close();
- final FieldInfos fieldInfos = mergeState.fieldInfos;
- final SegmentInfo info = new SegmentInfo(merged, si1.docCount + si2.docCount, si1.dir,
- false, codec, fieldInfos);
+ final SegmentInfo info = new SegmentInfo(si1.dir, Constants.LUCENE_MAIN_VERSION, merged,
+ si1.docCount + si2.docCount, -1, -1, merged,
+ false, null, false, 0, mergeState.fieldInfos.hasProx(), codec, null,
+ mergeState.fieldInfos.hasVectors(),
+ mergeState.fieldInfos.hasDocValues(),
+ mergeState.fieldInfos.hasNorms(),
+ mergeState.fieldInfos.hasFreq());
if (useCompoundFile) {
Collection<String> filesToDelete = IndexWriter.createCompoundFile(dir, merged + ".cfs", MergeState.CheckAbort.NONE, info, newIOContext(random()));
info.setUseCompoundFile(true);
- for (final String fileToDelete : filesToDelete)
+ for (final String fileToDelete : filesToDelete) {
si1.dir.deleteFile(fileToDelete);
+ }
}
return info;
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java?rev=1339711&r1=1339710&r2=1339711&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestSegmentMerger.java Thu May 17 17:00:29 2012
@@ -24,6 +24,7 @@ import org.apache.lucene.document.Docume
import org.apache.lucene.search.DocIdSetIterator;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
+import org.apache.lucene.util.Constants;
import org.apache.lucene.util.InfoStream;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util._TestUtil;
@@ -82,10 +83,13 @@ public class TestSegmentMerger extends L
MergeState mergeState = merger.merge();
int docsMerged = mergeState.mergedDocCount;
assertTrue(docsMerged == 2);
- final FieldInfos fieldInfos = mergeState.fieldInfos;
//Should be able to open a new SegmentReader against the new directory
- SegmentReader mergedReader = new SegmentReader(new SegmentInfo(mergedSegment, docsMerged, mergedDir, false,
- codec, fieldInfos),
+ SegmentReader mergedReader = new SegmentReader(new SegmentInfo(mergedDir, Constants.LUCENE_MAIN_VERSION, mergedSegment, docsMerged, -1, -1, mergedSegment,
+ false, null, false, 0, mergeState.fieldInfos.hasProx(), codec, null,
+ mergeState.fieldInfos.hasVectors(),
+ mergeState.fieldInfos.hasDocValues(),
+ mergeState.fieldInfos.hasNorms(),
+ mergeState.fieldInfos.hasFreq()),
DirectoryReader.DEFAULT_TERMS_INDEX_DIVISOR, newIOContext(random()));
assertTrue(mergedReader != null);
assertTrue(mergedReader.numDocs() == 2);
Modified: lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java?rev=1339711&r1=1339710&r2=1339711&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java (original)
+++ lucene/dev/branches/lucene4055/lucene/core/src/test/org/apache/lucene/index/TestTermVectorsReader.java Thu May 17 17:00:29 2012
@@ -128,7 +128,7 @@ public class TestTermVectorsReader exten
seg = writer.newestSegment();
writer.close();
- fieldInfos = seg.getFieldInfos(); //new FieldInfos(dir, IndexFileNames.segmentFileName(seg.name, "", IndexFileNames.FIELD_INFOS_EXTENSION));
+ fieldInfos = _TestUtil.getFieldInfos(seg);
}
@Override
Modified: lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWSegmentInfosWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWSegmentInfosWriter.java?rev=1339711&r1=1339710&r2=1339711&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWSegmentInfosWriter.java (original)
+++ lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/codecs/lucene3x/PreFlexRWSegmentInfosWriter.java Thu May 17 17:00:29 2012
@@ -93,9 +93,9 @@ class PreFlexRWSegmentInfosWriter extend
output.writeByte((byte) (si.getUseCompoundFile() ? SegmentInfo.YES : SegmentInfo.NO));
output.writeInt(si.getDelCount());
- output.writeByte((byte) (si.getHasProxInternal()));
+ output.writeByte((byte) (si.getHasProx() ? 1 : 0));
output.writeStringStringMap(si.getDiagnostics());
- output.writeByte((byte) (si.getHasVectorsInternal()));
+ output.writeByte((byte) (si.getHasVectors() ? 1: 0));
}
protected IndexOutput createOutput(Directory dir, String segmentFileName, IOContext context)
Modified: lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java?rev=1339711&r1=1339710&r2=1339711&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java (original)
+++ lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java Thu May 17 17:00:29 2012
@@ -784,8 +784,9 @@ public class MockDirectoryWrapper extend
public IndexInputSlicer createSlicer(final String name, IOContext context)
throws IOException {
maybeYield();
- if (!delegate.fileExists(name))
+ if (!delegate.fileExists(name)) {
throw new FileNotFoundException(name);
+ }
// cannot open a file for input if it's still open for
// output, except for segments.gen and segments_N
if (openFilesForWrite.contains(name) && !name.startsWith("segments")) {
Modified: lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java?rev=1339711&r1=1339710&r2=1339711&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java (original)
+++ lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java Thu May 17 17:00:29 2012
@@ -1,6 +1,7 @@
package org.apache.lucene.util;
import java.util.Arrays;
+import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Locale;
@@ -20,14 +21,12 @@ import org.apache.lucene.search.RandomSi
import org.apache.lucene.search.similarities.DefaultSimilarity;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
-
import com.carrotsearch.randomizedtesting.RandomizedContext;
-import static org.apache.lucene.util.LuceneTestCase.VERBOSE;
+import static org.apache.lucene.util.LuceneTestCase.*;
import static org.apache.lucene.util.LuceneTestCase.INFOSTREAM;
import static org.apache.lucene.util.LuceneTestCase.TEST_CODEC;
-
-import static org.apache.lucene.util.LuceneTestCase.*;
+import static org.apache.lucene.util.LuceneTestCase.VERBOSE;
@@ -126,7 +125,20 @@ final class TestRuleSetupAndRestoreClass
final Random random = RandomizedContext.current().getRandom();
final boolean v = random.nextBoolean();
if (INFOSTREAM) {
- InfoStream.setDefault(new PrintStreamInfoStream(System.out));
+ InfoStream.setDefault(new PrintStreamInfoStream(System.out) {
+ @Override
+ public void message(String component, String message) {
+ final String name;
+ if (Thread.currentThread().getName().startsWith("TEST-")) {
+ // The name of the main thread is way too
+ // long when looking at IW verbose output...:
+ name = "main";
+ } else {
+ name = Thread.currentThread().getName();
+ }
+ stream.println(component + " " + messageID + " [" + new Date() + "; " + name + "]: " + message);
+ }
+ });
} else if (v) {
InfoStream.setDefault(new NullInfoStream());
}
Modified: lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/util/_TestUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/util/_TestUtil.java?rev=1339711&r1=1339710&r2=1339711&view=diff
==============================================================================
--- lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/util/_TestUtil.java (original)
+++ lucene/dev/branches/lucene4055/lucene/test-framework/src/java/org/apache/lucene/util/_TestUtil.java Thu May 17 17:00:29 2012
@@ -55,6 +55,7 @@ import org.apache.lucene.index.DocValues
import org.apache.lucene.index.DocsAndPositionsEnum;
import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.FieldInfos;
+import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexableField;
@@ -62,13 +63,16 @@ import org.apache.lucene.index.LogMergeP
import org.apache.lucene.index.MergePolicy;
import org.apache.lucene.index.MergeScheduler;
import org.apache.lucene.index.MultiFields;
+import org.apache.lucene.index.SegmentInfo;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.index.TieredMergePolicy;
import org.apache.lucene.search.FieldDoc;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.store.CompoundFileDirectory;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
import org.junit.Assert;
/**
@@ -893,4 +897,25 @@ public class _TestUtil {
}
}
}
+
+ public static FieldInfos getFieldInfos(SegmentInfo info) throws IOException {
+ Directory cfsDir = null;
+ try {
+ if (info.getUseCompoundFile()) {
+ cfsDir = new CompoundFileDirectory(info.dir,
+ IndexFileNames.segmentFileName(info.name, "", IndexFileNames.COMPOUND_FILE_EXTENSION),
+ IOContext.READONCE,
+ false);
+ } else {
+ cfsDir = info.dir;
+ }
+ return info.getCodec().fieldInfosFormat().getFieldInfosReader().read(cfsDir,
+ info.name,
+ IOContext.READONCE);
+ } finally {
+ if (info.getUseCompoundFile() && cfsDir != null) {
+ cfsDir.close();
+ }
+ }
+ }
}