You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by si...@apache.org on 2023/10/25 21:37:06 UTC

[lucene] branch branch_9x updated: Close IndexWriter and Directory in try blocks Relates to #12685

This is an automated email from the ASF dual-hosted git repository.

simonw pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/lucene.git


The following commit(s) were added to refs/heads/branch_9x by this push:
     new 028b3ee5257 Close IndexWriter and Directory in try blocks Relates to #12685
028b3ee5257 is described below

commit 028b3ee5257b6d1ab12db210c916b3c6dca1f1c6
Author: Simon Willnauer <si...@apache.org>
AuthorDate: Wed Oct 25 23:36:02 2023 +0200

    Close IndexWriter and Directory in try blocks Relates to #12685
---
 .../org/apache/lucene/index/TestIndexWriter.java   | 70 +++++++++++-----------
 1 file changed, 36 insertions(+), 34 deletions(-)

diff --git a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
index 8ca88ba6912..b271a59dcdb 100644
--- a/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
+++ b/lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java
@@ -1767,43 +1767,45 @@ public class TestIndexWriter extends LuceneTestCase {
   }
 
   public void testCarryOverHasBlocks() throws Exception {
-    Directory dir = newDirectory();
-    IndexWriter w = new IndexWriter(dir, new IndexWriterConfig(new MockAnalyzer(random())));
+    try (Directory dir = newDirectory()) {
+      try (IndexWriter w =
+          new IndexWriter(dir, new IndexWriterConfig(new MockAnalyzer(random())))) {
 
-    final List<Document> docs = new ArrayList<>();
-    docs.add(new Document());
-    w.updateDocuments(new Term("foo", "bar"), docs);
-    w.commit();
-    try (DirectoryReader reader = DirectoryReader.open(dir)) {
-      SegmentCommitInfo segmentInfo =
-          ((SegmentReader) reader.leaves().get(0).reader()).getSegmentInfo();
-      assertFalse(segmentInfo.info.getHasBlocks());
-    }
+        final List<Document> docs = new ArrayList<>();
+        docs.add(new Document());
+        w.updateDocuments(new Term("foo", "bar"), docs);
+        w.commit();
+        try (DirectoryReader reader = DirectoryReader.open(dir)) {
+          SegmentCommitInfo segmentInfo =
+              ((SegmentReader) reader.leaves().get(0).reader()).getSegmentInfo();
+          assertFalse(segmentInfo.info.getHasBlocks());
+        }
 
-    docs.add(new Document()); // now we have 2 docs
-    w.updateDocuments(new Term("foo", "bar"), docs);
-    w.commit();
-    try (DirectoryReader reader = DirectoryReader.open(dir)) {
-      assertEquals(2, reader.leaves().size());
-      SegmentCommitInfo segmentInfo =
-          ((SegmentReader) reader.leaves().get(0).reader()).getSegmentInfo();
-      assertFalse(
-          "codec: " + segmentInfo.info.getCodec().toString(), segmentInfo.info.getHasBlocks());
-      segmentInfo = ((SegmentReader) reader.leaves().get(1).reader()).getSegmentInfo();
-      assertTrue(
-          "codec: " + segmentInfo.info.getCodec().toString(), segmentInfo.info.getHasBlocks());
-    }
-    w.forceMerge(1, true);
-    w.commit();
-    try (DirectoryReader reader = DirectoryReader.open(dir)) {
-      assertEquals(1, reader.leaves().size());
-      SegmentCommitInfo segmentInfo =
-          ((SegmentReader) reader.leaves().get(0).reader()).getSegmentInfo();
-      assertTrue(
-          "codec: " + segmentInfo.info.getCodec().toString(), segmentInfo.info.getHasBlocks());
+        docs.add(new Document()); // now we have 2 docs
+        w.updateDocuments(new Term("foo", "bar"), docs);
+        w.commit();
+        try (DirectoryReader reader = DirectoryReader.open(dir)) {
+          assertEquals(2, reader.leaves().size());
+          SegmentCommitInfo segmentInfo =
+              ((SegmentReader) reader.leaves().get(0).reader()).getSegmentInfo();
+          assertFalse(
+              "codec: " + segmentInfo.info.getCodec().toString(), segmentInfo.info.getHasBlocks());
+          segmentInfo = ((SegmentReader) reader.leaves().get(1).reader()).getSegmentInfo();
+          assertTrue(
+              "codec: " + segmentInfo.info.getCodec().toString(), segmentInfo.info.getHasBlocks());
+        }
+        w.forceMerge(1, true);
+        w.commit();
+        try (DirectoryReader reader = DirectoryReader.open(dir)) {
+          assertEquals(1, reader.leaves().size());
+          SegmentCommitInfo segmentInfo =
+              ((SegmentReader) reader.leaves().get(0).reader()).getSegmentInfo();
+          assertTrue(
+              "codec: " + segmentInfo.info.getCodec().toString(), segmentInfo.info.getHasBlocks());
+        }
+        w.commit();
+      }
     }
-    w.commit();
-    dir.close();
   }
 
   // LUCENE-3872