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 2010/11/30 10:22:04 UTC

svn commit: r1040447 - /lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/BaseTestRangeFilter.java

Author: mikemccand
Date: Tue Nov 30 09:22:02 2010
New Revision: 1040447

URL: http://svn.apache.org/viewvc?rev=1040447&view=rev
Log:
fix false random test failure (take 2)

Modified:
    lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/BaseTestRangeFilter.java

Modified: lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/BaseTestRangeFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/BaseTestRangeFilter.java?rev=1040447&r1=1040446&r2=1040447&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/BaseTestRangeFilter.java (original)
+++ lucene/dev/trunk/lucene/src/test/org/apache/lucene/search/BaseTestRangeFilter.java Tue Nov 30 09:22:02 2010
@@ -115,10 +115,6 @@ public class BaseTestRangeFilter extends
   
   private static IndexReader build(Random random, TestIndex index) throws IOException {
     /* build an index */
-    RandomIndexWriter writer = new RandomIndexWriter(random, index.index, 
-        newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer())
-    .setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(_TestUtil.nextInt(random, 50, 1000)));
-    _TestUtil.reduceOpenFiles(writer.w);
     
     Document doc = new Document();
     Field idField = newField(random, "id", "", Field.Store.YES, Field.Index.NOT_ANALYZED);
@@ -128,11 +124,16 @@ public class BaseTestRangeFilter extends
     doc.add(randField);
     doc.add(bodyField);
 
-    int minCount = 0;
-    int maxCount = 0;
-
+    RandomIndexWriter writer = new RandomIndexWriter(random, index.index, 
+                                                     newIndexWriterConfig(random, TEST_VERSION_CURRENT, new MockAnalyzer())
+                                                     .setOpenMode(OpenMode.CREATE).setMaxBufferedDocs(_TestUtil.nextInt(random, 50, 1000)));
     while(true) {
 
+      int minCount = 0;
+      int maxCount = 0;
+
+      _TestUtil.reduceOpenFiles(writer.w);
+
       for (int d = minId; d <= maxId; d++) {
         idField.setValue(pad(d));
         int r = index.allowNegativeRandomInts ? random.nextInt() : random
@@ -160,15 +161,14 @@ public class BaseTestRangeFilter extends
         // max, so, we loop until we satisfy that.  it should be
         // exceedingly rare (Yonik calculates 1 in ~429,000)
         // times) that this loop requires more than one try:
-        break;
+        IndexReader ir = writer.getReader();
+        writer.close();
+        return ir;
       }
 
       // try again
+      writer.deleteAll();
     }
-    
-    IndexReader ir = writer.getReader();
-    writer.close();
-    return ir;
   }
   
   @Test