You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ha...@apache.org on 2013/08/23 03:42:37 UTC
svn commit: r1516677 - in /lucene/dev/branches/lucene3069/lucene:
core/src/test/org/apache/lucene/index/
test-framework/src/java/org/apache/lucene/codecs/temp/
test-framework/src/java/org/apache/lucene/index/
test-framework/src/java/org/apache/lucene/u...
Author: han
Date: Fri Aug 23 01:42:36 2013
New Revision: 1516677
URL: http://svn.apache.org/r1516677
Log:
LUCENE-3069: API refactoring on MockRandom, revert supress codec in compatibility test
Added:
lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/codecs/temp/TempRandomPostingsFormat.java
- copied, changed from r1516365, lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java
Modified:
lucene/dev/branches/lucene3069/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
lucene/dev/branches/lucene3069/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java
lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java
lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java
lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java
lucene/dev/branches/lucene3069/lucene/test-framework/src/resources/META-INF/services/org.apache.lucene.codecs.PostingsFormat
Modified: lucene/dev/branches/lucene3069/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3069/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java?rev=1516677&r1=1516676&r2=1516677&view=diff
==============================================================================
--- lucene/dev/branches/lucene3069/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java (original)
+++ lucene/dev/branches/lucene3069/lucene/core/src/test/org/apache/lucene/index/TestBackwardsCompatibility.java Fri Aug 23 01:42:36 2013
@@ -74,7 +74,7 @@ import org.junit.Ignore;
// we won't even be running the actual code, only the impostor
// @SuppressCodecs("Lucene4x")
// Sep codec cannot yet handle the offsets in our 4.x index!
-@SuppressCodecs({"MockFixedIntBlock", "MockVariableIntBlock", "MockSep", "MockRandom", "TempSep", "TempFixedIntBlock", "TempVariableIntBlock"})
+@SuppressCodecs({"MockFixedIntBlock", "MockVariableIntBlock", "MockSep", "MockRandom", "Lucene40", "Lucene41", "TempSep", "TempFixedIntBlock", "TempVariableIntBlock", "TempRandom"})
public class TestBackwardsCompatibility extends LuceneTestCase {
// Uncomment these cases & run them on an older Lucene version,
Modified: lucene/dev/branches/lucene3069/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3069/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java?rev=1516677&r1=1516676&r2=1516677&view=diff
==============================================================================
--- lucene/dev/branches/lucene3069/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java (original)
+++ lucene/dev/branches/lucene3069/lucene/core/src/test/org/apache/lucene/index/TestPostingsOffsets.java Fri Aug 23 01:42:36 2013
@@ -49,7 +49,7 @@ import org.apache.lucene.util._TestUtil;
// TODO: we really need to test indexingoffsets, but then getting only docs / docs + freqs.
// not all codecs store prx separate...
// TODO: fix sep codec to index offsets so we can greatly reduce this list!
-@SuppressCodecs({"MockFixedIntBlock", "MockVariableIntBlock", "MockSep", "MockRandom", "TempSep", "TempFixedIntBlock", "TempVariableIntBlock"})
+@SuppressCodecs({"MockFixedIntBlock", "MockVariableIntBlock", "MockSep", "MockRandom", "TempSep", "TempFixedIntBlock", "TempVariableIntBlock", "TempRandom"})
public class TestPostingsOffsets extends LuceneTestCase {
IndexWriterConfig iwc;
Copied: lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/codecs/temp/TempRandomPostingsFormat.java (from r1516365, lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java)
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/codecs/temp/TempRandomPostingsFormat.java?p2=lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/codecs/temp/TempRandomPostingsFormat.java&p1=lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java&r1=1516365&r2=1516677&rev=1516677&view=diff
==============================================================================
--- lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/codecs/mockrandom/MockRandomPostingsFormat.java (original)
+++ lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/codecs/temp/TempRandomPostingsFormat.java Fri Aug 23 01:42:36 2013
@@ -1,4 +1,4 @@
-package org.apache.lucene.codecs.mockrandom;
+package org.apache.lucene.codecs.temp;
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
@@ -27,8 +27,8 @@ import org.apache.lucene.codecs.BlockTre
import org.apache.lucene.codecs.FieldsConsumer;
import org.apache.lucene.codecs.FieldsProducer;
import org.apache.lucene.codecs.PostingsFormat;
-import org.apache.lucene.codecs.PostingsReaderBase;
-import org.apache.lucene.codecs.PostingsWriterBase;
+import org.apache.lucene.codecs.TempPostingsReaderBase;
+import org.apache.lucene.codecs.TempPostingsWriterBase;
import org.apache.lucene.codecs.TermStats;
import org.apache.lucene.codecs.blockterms.BlockTermsReader;
import org.apache.lucene.codecs.blockterms.BlockTermsWriter;
@@ -48,8 +48,8 @@ import org.apache.lucene.codecs.pulsing.
import org.apache.lucene.codecs.sep.IntIndexInput;
import org.apache.lucene.codecs.sep.IntIndexOutput;
import org.apache.lucene.codecs.sep.IntStreamFactory;
-import org.apache.lucene.codecs.sep.SepPostingsReader;
-import org.apache.lucene.codecs.sep.SepPostingsWriter;
+import org.apache.lucene.codecs.sep.TempSepPostingsReader;
+import org.apache.lucene.codecs.sep.TempSepPostingsWriter;
import org.apache.lucene.index.FieldInfo;
import org.apache.lucene.index.IndexFileNames;
import org.apache.lucene.index.SegmentReadState;
@@ -66,17 +66,17 @@ import org.apache.lucene.util._TestUtil;
* Randomly combines terms index impl w/ postings impls.
*/
-public final class MockRandomPostingsFormat extends PostingsFormat {
+public final class TempRandomPostingsFormat extends PostingsFormat {
private final Random seedRandom;
private final String SEED_EXT = "sd";
- public MockRandomPostingsFormat() {
+ public TempRandomPostingsFormat() {
// This ctor should *only* be used at read-time: get NPE if you use it!
this(null);
}
- public MockRandomPostingsFormat(Random random) {
- super("MockRandom");
+ public TempRandomPostingsFormat(Random random) {
+ super("TempRandom");
if (random == null) {
this.seedRandom = new Random(0L) {
@Override
@@ -167,15 +167,15 @@ public final class MockRandomPostingsFor
random.nextInt(); // consume a random for buffersize
- PostingsWriterBase postingsWriter;
+ TempPostingsWriterBase postingsWriter;
if (random.nextBoolean()) {
- postingsWriter = new SepPostingsWriter(state, new MockIntStreamFactory(random), skipInterval);
+ postingsWriter = new TempSepPostingsWriter(state, new MockIntStreamFactory(random), skipInterval);
} else {
if (LuceneTestCase.VERBOSE) {
System.out.println("MockRandomCodec: writing Standard postings");
}
// TODO: randomize variables like acceptibleOverHead?!
- postingsWriter = new Lucene41PostingsWriter(state, skipInterval);
+ postingsWriter = new TempPostingsWriter(state, skipInterval);
}
if (random.nextBoolean()) {
@@ -183,12 +183,33 @@ public final class MockRandomPostingsFor
if (LuceneTestCase.VERBOSE) {
System.out.println("MockRandomCodec: writing pulsing postings with totTFCutoff=" + totTFCutoff);
}
- postingsWriter = new PulsingPostingsWriter(totTFCutoff, postingsWriter);
+ postingsWriter = new TempPulsingPostingsWriter(state, totTFCutoff, postingsWriter);
}
final FieldsConsumer fields;
+ final int t1 = random.nextInt(4);
- if (random.nextBoolean()) {
+ if (t1 == 0) {
+ boolean success = false;
+ try {
+ fields = new TempFSTTermsWriter(state, postingsWriter);
+ success = true;
+ } finally {
+ if (!success) {
+ postingsWriter.close();
+ }
+ }
+ } else if (t1 == 1) {
+ boolean success = false;
+ try {
+ fields = new TempFSTOrdTermsWriter(state, postingsWriter);
+ success = true;
+ } finally {
+ if (!success) {
+ postingsWriter.close();
+ }
+ }
+ } else if (t1 == 2) {
// Use BlockTree terms dict
if (LuceneTestCase.VERBOSE) {
@@ -202,7 +223,7 @@ public final class MockRandomPostingsFor
boolean success = false;
try {
- fields = new BlockTreeTermsWriter(state, postingsWriter, minTermsInBlock, maxTermsInBlock);
+ fields = new TempBlockTreeTermsWriter(state, postingsWriter, minTermsInBlock, maxTermsInBlock);
success = true;
} finally {
if (!success) {
@@ -268,7 +289,7 @@ public final class MockRandomPostingsFor
success = false;
try {
- fields = new BlockTermsWriter(indexWriter, state, postingsWriter);
+ fields = new TempBlockTermsWriter(indexWriter, state, postingsWriter);
success = true;
} finally {
if (!success) {
@@ -302,19 +323,19 @@ public final class MockRandomPostingsFor
System.out.println("MockRandomCodec: readBufferSize=" + readBufferSize);
}
- PostingsReaderBase postingsReader;
+ TempPostingsReaderBase postingsReader;
if (random.nextBoolean()) {
if (LuceneTestCase.VERBOSE) {
System.out.println("MockRandomCodec: reading Sep postings");
}
- postingsReader = new SepPostingsReader(state.directory, state.fieldInfos, state.segmentInfo,
+ postingsReader = new TempSepPostingsReader(state.directory, state.fieldInfos, state.segmentInfo,
state.context, new MockIntStreamFactory(random), state.segmentSuffix);
} else {
if (LuceneTestCase.VERBOSE) {
System.out.println("MockRandomCodec: reading Standard postings");
}
- postingsReader = new Lucene41PostingsReader(state.directory, state.fieldInfos, state.segmentInfo, state.context, state.segmentSuffix);
+ postingsReader = new TempPostingsReader(state.directory, state.fieldInfos, state.segmentInfo, state.context, state.segmentSuffix);
}
if (random.nextBoolean()) {
@@ -322,12 +343,32 @@ public final class MockRandomPostingsFor
if (LuceneTestCase.VERBOSE) {
System.out.println("MockRandomCodec: reading pulsing postings with totTFCutoff=" + totTFCutoff);
}
- postingsReader = new PulsingPostingsReader(postingsReader);
+ postingsReader = new TempPulsingPostingsReader(state, postingsReader);
}
final FieldsProducer fields;
-
- if (random.nextBoolean()) {
+ final int t1 = random.nextInt(4);
+ if (t1 == 0) {
+ boolean success = false;
+ try {
+ fields = new TempFSTTermsReader(state, postingsReader);
+ success = true;
+ } finally {
+ if (!success) {
+ postingsReader.close();
+ }
+ }
+ } else if (t1 == 1) {
+ boolean success = false;
+ try {
+ fields = new TempFSTOrdTermsReader(state, postingsReader);
+ success = true;
+ } finally {
+ if (!success) {
+ postingsReader.close();
+ }
+ }
+ } else if (t1 == 2) {
// Use BlockTree terms dict
if (LuceneTestCase.VERBOSE) {
System.out.println("MockRandomCodec: reading BlockTree terms dict");
@@ -335,7 +376,7 @@ public final class MockRandomPostingsFor
boolean success = false;
try {
- fields = new BlockTreeTermsReader(state.directory,
+ fields = new TempBlockTreeTermsReader(state.directory,
state.fieldInfos,
state.segmentInfo,
postingsReader,
@@ -394,7 +435,7 @@ public final class MockRandomPostingsFor
success = false;
try {
- fields = new BlockTermsReader(indexReader,
+ fields = new TempBlockTermsReader(indexReader,
state.directory,
state.fieldInfos,
state.segmentInfo,
Modified: lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java?rev=1516677&r1=1516676&r2=1516677&view=diff
==============================================================================
--- lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java (original)
+++ lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/index/RandomCodec.java Fri Aug 23 01:42:36 2013
@@ -50,6 +50,7 @@ import org.apache.lucene.codecs.nestedpu
import org.apache.lucene.codecs.pulsing.Pulsing41PostingsFormat;
import org.apache.lucene.codecs.simpletext.SimpleTextPostingsFormat;
import org.apache.lucene.codecs.simpletext.SimpleTextDocValuesFormat;
+import org.apache.lucene.codecs.temp.*;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util._TestUtil;
@@ -123,6 +124,8 @@ public class RandomCodec extends Lucene4
int maxItemsPerBlock = 2*(Math.max(2, minItemsPerBlock-1)) + random.nextInt(100);
int lowFreqCutoff = _TestUtil.nextInt(random, 2, 100);
+ // nocommit: temporary disable other format tests
+ /*
add(avoidCodecs,
new Lucene41PostingsFormat(minItemsPerBlock, maxItemsPerBlock),
new DirectPostingsFormat(LuceneTestCase.rarely(random) ? 1 : (LuceneTestCase.rarely(random) ? Integer.MAX_VALUE : maxItemsPerBlock),
@@ -146,7 +149,14 @@ public class RandomCodec extends Lucene4
new AssertingPostingsFormat(),
new MemoryPostingsFormat(true, random.nextFloat()),
new MemoryPostingsFormat(false, random.nextFloat()));
-
+ */
+ add(avoidCodecs,
+ new TempBlockPostingsFormat(_TestUtil.nextInt(random, 1, 1000)),
+ new TempBlockTreePostingsFormat(minItemsPerBlock, maxItemsPerBlock),
+ new TempRandomPostingsFormat(random),
+ new TempNestedPulsingPostingsFormat(),
+ new TempPulsing41PostingsFormat(1 + random.nextInt(20), minItemsPerBlock, maxItemsPerBlock));
+
addDocValues(avoidCodecs,
new Lucene42DocValuesFormat(),
new DiskDocValuesFormat(),
Modified: lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java?rev=1516677&r1=1516676&r2=1516677&view=diff
==============================================================================
--- lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java (original)
+++ lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java Fri Aug 23 01:42:36 2013
@@ -327,7 +327,8 @@ public abstract class LuceneTestCase ext
"MockRandom",
"TempSep",
"TempFixedIntBlock",
- "TempVariableIntBlock"
+ "TempVariableIntBlock",
+ "TempRandom"
));
// -----------------------------------------------------------------
Modified: lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java?rev=1516677&r1=1516676&r2=1516677&view=diff
==============================================================================
--- lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java (original)
+++ lucene/dev/branches/lucene3069/lucene/test-framework/src/java/org/apache/lucene/util/TestRuleSetupAndRestoreClassEnv.java Fri Aug 23 01:42:36 2013
@@ -40,6 +40,7 @@ import org.apache.lucene.codecs.lucene40
import org.apache.lucene.codecs.lucene40.Lucene40RWPostingsFormat;
import org.apache.lucene.codecs.lucene41.Lucene41RWCodec;
import org.apache.lucene.codecs.lucene42.Lucene42Codec;
+import org.apache.lucene.codecs.mockrandom.MockRandomPostingsFormat;
import org.apache.lucene.codecs.simpletext.SimpleTextCodec;
import org.apache.lucene.index.RandomCodec;
import org.apache.lucene.search.RandomSimilarityProvider;
@@ -168,6 +169,8 @@ final class TestRuleSetupAndRestoreClass
final PostingsFormat format;
if ("random".equals(TEST_POSTINGSFORMAT)) {
format = PostingsFormat.forName("Lucene41");
+ } else if ("TempRandom".equals(TEST_POSTINGSFORMAT)) {
+ format = new MockRandomPostingsFormat(new Random(random.nextLong()));
} else {
format = PostingsFormat.forName(TEST_POSTINGSFORMAT);
}
Modified: lucene/dev/branches/lucene3069/lucene/test-framework/src/resources/META-INF/services/org.apache.lucene.codecs.PostingsFormat
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene3069/lucene/test-framework/src/resources/META-INF/services/org.apache.lucene.codecs.PostingsFormat?rev=1516677&r1=1516676&r2=1516677&view=diff
==============================================================================
--- lucene/dev/branches/lucene3069/lucene/test-framework/src/resources/META-INF/services/org.apache.lucene.codecs.PostingsFormat (original)
+++ lucene/dev/branches/lucene3069/lucene/test-framework/src/resources/META-INF/services/org.apache.lucene.codecs.PostingsFormat Fri Aug 23 01:42:36 2013
@@ -28,3 +28,4 @@ org.apache.lucene.codecs.lucene40.Lucene
org.apache.lucene.codecs.temp.TempSepPostingsFormat
org.apache.lucene.codecs.temp.TempFixedIntBlockPostingsFormat
org.apache.lucene.codecs.temp.TempVariableIntBlockPostingsFormat
+org.apache.lucene.codecs.temp.TempRandomPostingsFormat