@@ -1770,43 +1770,45 @@ public void testHasBlocksMergeFullyDelSegments() throws IOException {
17701770 }
17711771
17721772 public void testCarryOverHasBlocks () throws Exception {
1773- Directory dir = newDirectory ();
1774- IndexWriter w = new IndexWriter (dir , new IndexWriterConfig (new MockAnalyzer (random ())));
1773+ try (Directory dir = newDirectory ()) {
1774+ try (IndexWriter w =
1775+ new IndexWriter (dir , new IndexWriterConfig (new MockAnalyzer (random ())))) {
17751776
1776- final List <Document > docs = new ArrayList <>();
1777- docs .add (new Document ());
1778- w .updateDocuments (new Term ("foo" , "bar" ), docs );
1779- w .commit ();
1780- try (DirectoryReader reader = DirectoryReader .open (dir )) {
1781- SegmentCommitInfo segmentInfo =
1782- ((SegmentReader ) reader .leaves ().get (0 ).reader ()).getSegmentInfo ();
1783- assertFalse (segmentInfo .info .getHasBlocks ());
1784- }
1777+ final List <Document > docs = new ArrayList <>();
1778+ docs .add (new Document ());
1779+ w .updateDocuments (new Term ("foo" , "bar" ), docs );
1780+ w .commit ();
1781+ try (DirectoryReader reader = DirectoryReader .open (dir )) {
1782+ SegmentCommitInfo segmentInfo =
1783+ ((SegmentReader ) reader .leaves ().get (0 ).reader ()).getSegmentInfo ();
1784+ assertFalse (segmentInfo .info .getHasBlocks ());
1785+ }
17851786
1786- docs .add (new Document ()); // now we have 2 docs
1787- w .updateDocuments (new Term ("foo" , "bar" ), docs );
1788- w .commit ();
1789- try (DirectoryReader reader = DirectoryReader .open (dir )) {
1790- assertEquals (2 , reader .leaves ().size ());
1791- SegmentCommitInfo segmentInfo =
1792- ((SegmentReader ) reader .leaves ().get (0 ).reader ()).getSegmentInfo ();
1793- assertFalse (
1794- "codec: " + segmentInfo .info .getCodec ().toString (), segmentInfo .info .getHasBlocks ());
1795- segmentInfo = ((SegmentReader ) reader .leaves ().get (1 ).reader ()).getSegmentInfo ();
1796- assertTrue (
1797- "codec: " + segmentInfo .info .getCodec ().toString (), segmentInfo .info .getHasBlocks ());
1798- }
1799- w .forceMerge (1 , true );
1800- w .commit ();
1801- try (DirectoryReader reader = DirectoryReader .open (dir )) {
1802- assertEquals (1 , reader .leaves ().size ());
1803- SegmentCommitInfo segmentInfo =
1804- ((SegmentReader ) reader .leaves ().get (0 ).reader ()).getSegmentInfo ();
1805- assertTrue (
1806- "codec: " + segmentInfo .info .getCodec ().toString (), segmentInfo .info .getHasBlocks ());
1787+ docs .add (new Document ()); // now we have 2 docs
1788+ w .updateDocuments (new Term ("foo" , "bar" ), docs );
1789+ w .commit ();
1790+ try (DirectoryReader reader = DirectoryReader .open (dir )) {
1791+ assertEquals (2 , reader .leaves ().size ());
1792+ SegmentCommitInfo segmentInfo =
1793+ ((SegmentReader ) reader .leaves ().get (0 ).reader ()).getSegmentInfo ();
1794+ assertFalse (
1795+ "codec: " + segmentInfo .info .getCodec ().toString (), segmentInfo .info .getHasBlocks ());
1796+ segmentInfo = ((SegmentReader ) reader .leaves ().get (1 ).reader ()).getSegmentInfo ();
1797+ assertTrue (
1798+ "codec: " + segmentInfo .info .getCodec ().toString (), segmentInfo .info .getHasBlocks ());
1799+ }
1800+ w .forceMerge (1 , true );
1801+ w .commit ();
1802+ try (DirectoryReader reader = DirectoryReader .open (dir )) {
1803+ assertEquals (1 , reader .leaves ().size ());
1804+ SegmentCommitInfo segmentInfo =
1805+ ((SegmentReader ) reader .leaves ().get (0 ).reader ()).getSegmentInfo ();
1806+ assertTrue (
1807+ "codec: " + segmentInfo .info .getCodec ().toString (), segmentInfo .info .getHasBlocks ());
1808+ }
1809+ w .commit ();
1810+ }
18071811 }
1808- w .commit ();
1809- dir .close ();
18101812 }
18111813
18121814 // LUCENE-3872
0 commit comments