@@ -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