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 2014/05/08 21:43:30 UTC

svn commit: r1593393 - /lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java

Author: rmuir
Date: Thu May  8 19:43:29 2014
New Revision: 1593393

URL: http://svn.apache.org/r1593393
Log:
invoke cms parameters randomly

Modified:
    lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java

Modified: lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java?rev=1593393&r1=1593392&r2=1593393&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java (original)
+++ lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/util/LuceneTestCase.java Thu May  8 19:43:29 2014
@@ -84,6 +84,7 @@ import org.apache.lucene.index.LogByteSi
 import org.apache.lucene.index.LogDocMergePolicy;
 import org.apache.lucene.index.LogMergePolicy;
 import org.apache.lucene.index.MergePolicy;
+import org.apache.lucene.index.MergeScheduler;
 import org.apache.lucene.index.MockRandomMergePolicy;
 import org.apache.lucene.index.MultiDocValues;
 import org.apache.lucene.index.MultiFields;
@@ -1082,7 +1083,17 @@ public abstract class LuceneTestCase ext
       c.setCheckIntegrityAtMerge(r.nextBoolean());
     }
     
-    // TODO: mergepolicy, mergescheduler, etc have mutable state on indexwriter
+    if (rarely(r)) {
+      // change CMS merge parameters
+      MergeScheduler ms = c.getMergeScheduler();
+      if (ms instanceof ConcurrentMergeScheduler) {
+        int maxThreadCount = TestUtil.nextInt(random(), 1, 4);
+        int maxMergeCount = TestUtil.nextInt(random(), maxThreadCount, maxThreadCount + 4);
+        ((ConcurrentMergeScheduler)ms).setMaxMergesAndThreads(maxMergeCount, maxThreadCount);
+      }
+    }
+    
+    // TODO: mergepolicy, etc have mutable state on indexwriter
     // every setter must be tested
   }