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