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/02/16 00:41:22 UTC

lucene-solr git commit: use try-w-resources so Directory is closed even on assumption violation

Repository: lucene-solr
Updated Branches:
  refs/heads/branch_5_5 7a28c454f -> 70844e395


use try-w-resources so Directory is closed even on assumption violation


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

Branch: refs/heads/branch_5_5
Commit: 70844e395691278482052bc19644759d35fa6a61
Parents: 7a28c45
Author: Mike McCandless <mi...@apache.org>
Authored: Mon Feb 15 18:42:24 2016 -0500
Committer: Mike McCandless <mi...@apache.org>
Committed: Mon Feb 15 18:42:24 2016 -0500

----------------------------------------------------------------------
 .../lucene/index/BaseMergePolicyTestCase.java   | 76 ++++++++++----------
 1 file changed, 38 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/70844e39/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java
index d02ea0b1..6b371b3 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/BaseMergePolicyTestCase.java
@@ -34,51 +34,51 @@ public abstract class BaseMergePolicyTestCase extends LuceneTestCase {
   protected abstract MergePolicy mergePolicy();
 
   public void testForceMergeNotNeeded() throws IOException {
-    Directory dir = newDirectory();
-    final AtomicBoolean mayMerge = new AtomicBoolean(true);
-    final MergeScheduler mergeScheduler = new SerialMergeScheduler() {
-      @Override
-      synchronized public void merge(IndexWriter writer, MergeTrigger trigger, boolean newMergesFound) throws IOException {
-        if (mayMerge.get() == false) {
-          MergePolicy.OneMerge merge = writer.getNextMerge();
-          if (merge != null) {
-            System.out.println("TEST: we should not need any merging, yet merge policy returned merge " + merge);
-            throw new AssertionError();
-          }
-        }
+    try (Directory dir = newDirectory()) {
+      final AtomicBoolean mayMerge = new AtomicBoolean(true);
+      final MergeScheduler mergeScheduler = new SerialMergeScheduler() {
+          @Override
+          synchronized public void merge(IndexWriter writer, MergeTrigger trigger, boolean newMergesFound) throws IOException {
+            if (mayMerge.get() == false) {
+              MergePolicy.OneMerge merge = writer.getNextMerge();
+              if (merge != null) {
+                System.out.println("TEST: we should not need any merging, yet merge policy returned merge " + merge);
+                throw new AssertionError();
+              }
+            }
 
-        super.merge(writer, trigger, newMergesFound);
-      }
-    };
+            super.merge(writer, trigger, newMergesFound);
+          }
+        };
 
-    MergePolicy mp = mergePolicy();
-    assumeFalse("this test cannot tolerate random forceMerges", mp.toString().contains("MockRandomMergePolicy"));
-    mp.setNoCFSRatio(random().nextBoolean() ? 0 : 1);
+      MergePolicy mp = mergePolicy();
+      assumeFalse("this test cannot tolerate random forceMerges", mp.toString().contains("MockRandomMergePolicy"));
+      mp.setNoCFSRatio(random().nextBoolean() ? 0 : 1);
 
-    IndexWriterConfig iwc = newIndexWriterConfig(new MockAnalyzer(random()));
-    iwc.setMergeScheduler(mergeScheduler);
-    iwc.setMergePolicy(mp);
+      IndexWriterConfig iwc = newIndexWriterConfig(new MockAnalyzer(random()));
+      iwc.setMergeScheduler(mergeScheduler);
+      iwc.setMergePolicy(mp);
 
-    IndexWriter writer = new IndexWriter(dir, iwc);
-    final int numSegments = TestUtil.nextInt(random(), 2, 20);
-    for (int i = 0; i < numSegments; ++i) {
-      final int numDocs = TestUtil.nextInt(random(), 1, 5);
-      for (int j = 0; j < numDocs; ++j) {
-        writer.addDocument(new Document());
+      IndexWriter writer = new IndexWriter(dir, iwc);
+      final int numSegments = TestUtil.nextInt(random(), 2, 20);
+      for (int i = 0; i < numSegments; ++i) {
+        final int numDocs = TestUtil.nextInt(random(), 1, 5);
+        for (int j = 0; j < numDocs; ++j) {
+          writer.addDocument(new Document());
+        }
+        writer.getReader().close();
       }
-      writer.getReader().close();
-    }
-    for (int i = 5; i >= 0; --i) {
-      final int segmentCount = writer.getSegmentCount();
-      final int maxNumSegments = i == 0 ? 1 : TestUtil.nextInt(random(), 1, 10);
-      mayMerge.set(segmentCount > maxNumSegments);
-      if (VERBOSE) {
-        System.out.println("TEST: now forceMerge(maxNumSegments=" + maxNumSegments + ") vs segmentCount=" + segmentCount);
+      for (int i = 5; i >= 0; --i) {
+        final int segmentCount = writer.getSegmentCount();
+        final int maxNumSegments = i == 0 ? 1 : TestUtil.nextInt(random(), 1, 10);
+        mayMerge.set(segmentCount > maxNumSegments);
+        if (VERBOSE) {
+          System.out.println("TEST: now forceMerge(maxNumSegments=" + maxNumSegments + ") vs segmentCount=" + segmentCount);
+        }
+        writer.forceMerge(maxNumSegments);
       }
-      writer.forceMerge(maxNumSegments);
+      writer.close();
     }
-    writer.close();
-    dir.close();
   }
   
 }