You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2016/04/18 17:29:44 UTC

lucene-solr:branch_6x: Don't pick crazy compression parameters for this monsterish test

Repository: lucene-solr
Updated Branches:
  refs/heads/branch_6x 999537f50 -> 5ceb0aadd


Don't pick crazy compression parameters for this monsterish test


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

Branch: refs/heads/branch_6x
Commit: 5ceb0aadd10cb6d1446d0fffa3bd2734afa59a00
Parents: 999537f
Author: Robert Muir <rm...@apache.org>
Authored: Mon Apr 18 10:11:29 2016 -0400
Committer: Robert Muir <rm...@apache.org>
Committed: Mon Apr 18 11:29:39 2016 -0400

----------------------------------------------------------------------
 .../lucene/index/Test4GBStoredFields.java       | 24 +++++++++++++-------
 .../codecs/compressing/CompressingCodec.java    | 13 +++++++++++
 2 files changed, 29 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5ceb0aad/lucene/core/src/test/org/apache/lucene/index/Test4GBStoredFields.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/test/org/apache/lucene/index/Test4GBStoredFields.java b/lucene/core/src/test/org/apache/lucene/index/Test4GBStoredFields.java
index 0129bf9..3c147b6 100644
--- a/lucene/core/src/test/org/apache/lucene/index/Test4GBStoredFields.java
+++ b/lucene/core/src/test/org/apache/lucene/index/Test4GBStoredFields.java
@@ -18,6 +18,7 @@ package org.apache.lucene.index;
 
 
 import org.apache.lucene.analysis.MockAnalyzer;
+import org.apache.lucene.codecs.compressing.CompressingCodec;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.document.FieldType;
@@ -34,7 +35,7 @@ import com.carrotsearch.randomizedtesting.generators.RandomInts;
 /**
  * This test creates an index with one segment that is a little larger than 4GB.
  */
-@SuppressCodecs({ "SimpleText" })
+@SuppressCodecs({ "SimpleText", "Compressing" })
 @TimeoutSuite(millis = 4 * TimeUnits.HOUR)
 public class Test4GBStoredFields extends LuceneTestCase {
 
@@ -43,13 +44,20 @@ public class Test4GBStoredFields extends LuceneTestCase {
     MockDirectoryWrapper dir = new MockDirectoryWrapper(random(), new MMapDirectory(createTempDir("4GBStoredFields")));
     dir.setThrottling(MockDirectoryWrapper.Throttling.NEVER);
 
-    IndexWriter w = new IndexWriter(dir,
-        new IndexWriterConfig(new MockAnalyzer(random()))
-        .setMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH)
-        .setRAMBufferSizeMB(256.0)
-        .setMergeScheduler(new ConcurrentMergeScheduler())
-        .setMergePolicy(newLogMergePolicy(false, 10))
-        .setOpenMode(IndexWriterConfig.OpenMode.CREATE));
+    IndexWriterConfig iwc = new IndexWriterConfig(new MockAnalyzer(random()));
+    iwc.setMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH);
+    iwc.setRAMBufferSizeMB(256.0);
+    iwc.setMergeScheduler(new ConcurrentMergeScheduler());
+    iwc.setMergePolicy(newLogMergePolicy(false, 10));
+    iwc.setOpenMode(IndexWriterConfig.OpenMode.CREATE);
+
+    // TODO: we disable "Compressing" since it likes to pick very extreme values which will be too slow for this test.
+    // maybe we should factor out crazy cases to ExtremeCompressing? then annotations can handle this stuff...
+    if (random().nextBoolean()) {
+      iwc.setCodec(CompressingCodec.reasonableInstance(random()));
+    }
+
+    IndexWriter w = new IndexWriter(dir, iwc);
 
     MergePolicy mp = w.getConfig().getMergePolicy();
     if (mp instanceof LogByteSizeMergePolicy) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/5ceb0aad/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java
index 7db0233..ca42881 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/compressing/CompressingCodec.java
@@ -60,6 +60,19 @@ public abstract class CompressingCodec extends FilterCodec {
     final int blockSize = random.nextBoolean() ? RandomInts.randomIntBetween(random, 1, 10) : RandomInts.randomIntBetween(random, 1, 1024);
     return randomInstance(random, chunkSize, chunkDocs, false, blockSize);
   }
+
+  /**
+   * Creates a random {@link CompressingCodec} with more reasonable parameters for big tests.
+   */
+  public static CompressingCodec reasonableInstance(Random random) {
+    // e.g. defaults use 2^14 for FAST and ~ 2^16 for HIGH
+    final int chunkSize = TestUtil.nextInt(random, 1<<13, 1<<17);
+    // e.g. defaults use 128 for FAST and 512 for HIGH
+    final int chunkDocs = TestUtil.nextInt(random, 1<<6, 1<<10);
+    // e.g. defaults use 1024 for both cases
+    final int blockSize = TestUtil.nextInt(random, 1<<9, 1<<11);
+    return randomInstance(random, chunkSize, chunkDocs, false, blockSize);
+  }
   
   /**
    * Creates a random {@link CompressingCodec} that is using a segment suffix