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 2016/06/19 10:04:38 UTC

lucene-solr:branch_6x: fix test bug: use an FSDirectory when there are too many docs

Repository: lucene-solr
Updated Branches:
  refs/heads/branch_6x 940aedf26 -> a5c43b415


fix test bug: use an FSDirectory when there are too many docs


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/a5c43b41
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/a5c43b41
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/a5c43b41

Branch: refs/heads/branch_6x
Commit: a5c43b415f87436ba62c57a4ef9d6e3d4c3133ce
Parents: 940aedf
Author: Mike McCandless <mi...@apache.org>
Authored: Sun Jun 19 06:03:29 2016 -0400
Committer: Mike McCandless <mi...@apache.org>
Committed: Sun Jun 19 06:03:53 2016 -0400

----------------------------------------------------------------------
 .../org/apache/lucene/search/TestBoolean2.java   | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a5c43b41/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java b/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java
index 2cd3a37..8123add 100644
--- a/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java
+++ b/lucene/core/src/test/org/apache/lucene/search/TestBoolean2.java
@@ -33,6 +33,7 @@ import org.apache.lucene.index.Term;
 import org.apache.lucene.search.similarities.ClassicSimilarity;
 import org.apache.lucene.search.similarities.Similarity;
 import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.IOContext;
 import org.apache.lucene.store.MockDirectoryWrapper;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.TestUtil;
@@ -68,8 +69,13 @@ public class TestBoolean2 extends LuceneTestCase {
     // in some runs, test immediate adjacency of matches - in others, force a full bucket gap betwen docs
     NUM_FILLER_DOCS = random().nextBoolean() ? 0 : BooleanScorer.SIZE;
     PRE_FILLER_DOCS = TestUtil.nextInt(random(), 0, (NUM_FILLER_DOCS / 2));
+
+    if (NUM_FILLER_DOCS * PRE_FILLER_DOCS > 100000) {
+      directory = newFSDirectory(createTempDir());
+    } else {
+      directory = newDirectory();
+    }
     
-    directory = newDirectory();
     RandomIndexWriter writer= new RandomIndexWriter(random(), directory, newIndexWriterConfig(new MockAnalyzer(random())).setMergePolicy(newLogMergePolicy()));
     
     Document doc = new Document();
@@ -92,7 +98,16 @@ public class TestBoolean2 extends LuceneTestCase {
     searcher.setSimilarity(new ClassicSimilarity());
 
     // make a copy of our index using a single segment
-    singleSegmentDirectory = new MockDirectoryWrapper(random(), TestUtil.ramCopyOf(directory));
+    if (NUM_FILLER_DOCS * PRE_FILLER_DOCS > 100000) {
+      singleSegmentDirectory = newFSDirectory(createTempDir());
+    } else {
+      singleSegmentDirectory = newDirectory();
+    }
+
+    for (String fileName : directory.listAll()) {
+      singleSegmentDirectory.copyFrom(directory, fileName, fileName, IOContext.DEFAULT);
+    }
+    
     IndexWriterConfig iwc = newIndexWriterConfig(new MockAnalyzer(random()));
     // we need docID order to be preserved:
     iwc.setMergePolicy(newLogMergePolicy());