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/12/09 18:23:15 UTC

svn commit: r1644124 - in /lucene/dev/branches/branch_5x/lucene: core/src/test/org/apache/lucene/index/ test-framework/src/java/org/apache/lucene/store/

Author: rmuir
Date: Tue Dec  9 17:23:15 2014
New Revision: 1644124

URL: http://svn.apache.org/r1644124
Log:
fix test bug

Modified:
    lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestForTooMuchCloning.java
    lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java
    lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java

Modified: lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestForTooMuchCloning.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestForTooMuchCloning.java?rev=1644124&r1=1644123&r2=1644124&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestForTooMuchCloning.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestForTooMuchCloning.java Tue Dec  9 17:23:15 2014
@@ -32,7 +32,7 @@ import org.apache.lucene.util.TestUtil;
 public class TestForTooMuchCloning extends LuceneTestCase {
 
   // Make sure we don't clone IndexInputs too frequently
-  // during merging:
+  // during merging and searching:
   public void test() throws Exception {
     final MockDirectoryWrapper dir = newMockDirectory();
     final TieredMergePolicy tmp = new TieredMergePolicy();
@@ -55,12 +55,14 @@ public class TestForTooMuchCloning exten
     final IndexReader r = w.getReader();
     w.close();
 
-    final int cloneCount = dir.getInputCloneCount();
     //System.out.println("merge clone count=" + cloneCount);
-    assertTrue("too many calls to IndexInput.clone during merging: " + dir.getInputCloneCount(), cloneCount < 500);
+    assertTrue("too many calls to IndexInput.clone during merging: " + dir.getInputCloneCount(), dir.getInputCloneCount() < 500);
 
     final IndexSearcher s = newSearcher(r);
-
+    // important: set this after newSearcher, it might have run checkindex
+    final int cloneCount = dir.getInputCloneCount();
+    // dir.setVerboseClone(true);
+    
     // MTQ that matches all terms so the AUTO_REWRITE should
     // cutover to filter rewrite and reuse a single DocsEnum
     // across all terms;

Modified: lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java?rev=1644124&r1=1644123&r2=1644124&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java (original)
+++ lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java Tue Dec  9 17:23:15 2014
@@ -134,6 +134,16 @@ public class MockDirectoryWrapper extend
   public int getInputCloneCount() {
     return inputCloneCount.get();
   }
+  
+  boolean verboseClone;
+  
+  /** 
+   * If set to true, we print a fake exception
+   * with filename and stacktrace on every indexinput clone()
+   */
+  public void setVerboseClone(boolean v) {
+    verboseClone = v;
+  }
 
   public void setTrackDiskUsage(boolean v) {
     trackDiskUsage = v;

Modified: lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java?rev=1644124&r1=1644123&r2=1644124&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java (original)
+++ lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/store/MockIndexInputWrapper.java Tue Dec  9 17:23:15 2014
@@ -67,6 +67,9 @@ public class MockIndexInputWrapper exten
   @Override
   public MockIndexInputWrapper clone() {
     ensureOpen();
+    if (dir.verboseClone) {
+      new Exception("clone: " + this).printStackTrace(System.out);
+    }
     dir.inputCloneCount.incrementAndGet();
     IndexInput iiclone = delegate.clone();
     MockIndexInputWrapper clone = new MockIndexInputWrapper(dir, name, iiclone);
@@ -91,6 +94,9 @@ public class MockIndexInputWrapper exten
   @Override
   public IndexInput slice(String sliceDescription, long offset, long length) throws IOException {
     ensureOpen();
+    if (dir.verboseClone) {
+      new Exception("slice: " + this).printStackTrace(System.out);
+    }
     dir.inputCloneCount.incrementAndGet();
     IndexInput slice = delegate.slice(sliceDescription, offset, length);
     MockIndexInputWrapper clone = new MockIndexInputWrapper(dir, sliceDescription, slice);