Skip to content

Commit 028b3ee

Browse files
committed
Close IndexWriter and Directory in try blocks Relates to #12685
1 parent 03a0f07 commit 028b3ee

File tree

1 file changed

+36
-34
lines changed

1 file changed

+36
-34
lines changed

lucene/core/src/test/org/apache/lucene/index/TestIndexWriter.java

Lines changed: 36 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1767,43 +1767,45 @@ public void testHasBlocksMergeFullyDelSegments() throws IOException {
17671767
}
17681768

17691769
public void testCarryOverHasBlocks() throws Exception {
1770-
Directory dir = newDirectory();
1771-
IndexWriter w = new IndexWriter(dir, new IndexWriterConfig(new MockAnalyzer(random())));
1770+
try (Directory dir = newDirectory()) {
1771+
try (IndexWriter w =
1772+
new IndexWriter(dir, new IndexWriterConfig(new MockAnalyzer(random())))) {
17721773

1773-
final List<Document> docs = new ArrayList<>();
1774-
docs.add(new Document());
1775-
w.updateDocuments(new Term("foo", "bar"), docs);
1776-
w.commit();
1777-
try (DirectoryReader reader = DirectoryReader.open(dir)) {
1778-
SegmentCommitInfo segmentInfo =
1779-
((SegmentReader) reader.leaves().get(0).reader()).getSegmentInfo();
1780-
assertFalse(segmentInfo.info.getHasBlocks());
1781-
}
1774+
final List<Document> docs = new ArrayList<>();
1775+
docs.add(new Document());
1776+
w.updateDocuments(new Term("foo", "bar"), docs);
1777+
w.commit();
1778+
try (DirectoryReader reader = DirectoryReader.open(dir)) {
1779+
SegmentCommitInfo segmentInfo =
1780+
((SegmentReader) reader.leaves().get(0).reader()).getSegmentInfo();
1781+
assertFalse(segmentInfo.info.getHasBlocks());
1782+
}
17821783

1783-
docs.add(new Document()); // now we have 2 docs
1784-
w.updateDocuments(new Term("foo", "bar"), docs);
1785-
w.commit();
1786-
try (DirectoryReader reader = DirectoryReader.open(dir)) {
1787-
assertEquals(2, reader.leaves().size());
1788-
SegmentCommitInfo segmentInfo =
1789-
((SegmentReader) reader.leaves().get(0).reader()).getSegmentInfo();
1790-
assertFalse(
1791-
"codec: " + segmentInfo.info.getCodec().toString(), segmentInfo.info.getHasBlocks());
1792-
segmentInfo = ((SegmentReader) reader.leaves().get(1).reader()).getSegmentInfo();
1793-
assertTrue(
1794-
"codec: " + segmentInfo.info.getCodec().toString(), segmentInfo.info.getHasBlocks());
1795-
}
1796-
w.forceMerge(1, true);
1797-
w.commit();
1798-
try (DirectoryReader reader = DirectoryReader.open(dir)) {
1799-
assertEquals(1, reader.leaves().size());
1800-
SegmentCommitInfo segmentInfo =
1801-
((SegmentReader) reader.leaves().get(0).reader()).getSegmentInfo();
1802-
assertTrue(
1803-
"codec: " + segmentInfo.info.getCodec().toString(), segmentInfo.info.getHasBlocks());
1784+
docs.add(new Document()); // now we have 2 docs
1785+
w.updateDocuments(new Term("foo", "bar"), docs);
1786+
w.commit();
1787+
try (DirectoryReader reader = DirectoryReader.open(dir)) {
1788+
assertEquals(2, reader.leaves().size());
1789+
SegmentCommitInfo segmentInfo =
1790+
((SegmentReader) reader.leaves().get(0).reader()).getSegmentInfo();
1791+
assertFalse(
1792+
"codec: " + segmentInfo.info.getCodec().toString(), segmentInfo.info.getHasBlocks());
1793+
segmentInfo = ((SegmentReader) reader.leaves().get(1).reader()).getSegmentInfo();
1794+
assertTrue(
1795+
"codec: " + segmentInfo.info.getCodec().toString(), segmentInfo.info.getHasBlocks());
1796+
}
1797+
w.forceMerge(1, true);
1798+
w.commit();
1799+
try (DirectoryReader reader = DirectoryReader.open(dir)) {
1800+
assertEquals(1, reader.leaves().size());
1801+
SegmentCommitInfo segmentInfo =
1802+
((SegmentReader) reader.leaves().get(0).reader()).getSegmentInfo();
1803+
assertTrue(
1804+
"codec: " + segmentInfo.info.getCodec().toString(), segmentInfo.info.getHasBlocks());
1805+
}
1806+
w.commit();
1807+
}
18041808
}
1805-
w.commit();
1806-
dir.close();
18071809
}
18081810

18091811
// LUCENE-3872

0 commit comments

Comments
 (0)