@@ -708,12 +708,11 @@ protected void writerSegmentStats(SegmentsStats stats) {
708708 protected Segment [] getSegmentInfo (SegmentInfos lastCommittedSegmentInfos , boolean verbose ) {
709709 ensureOpen ();
710710 Map <String , Segment > segments = new HashMap <>();
711-
712711 // first, go over and compute the search ones...
713- Searcher searcher = acquireSearcher ("segments" );
714- try {
712+ try (Searcher searcher = acquireSearcher ("segments" )){
715713 for (LeafReaderContext reader : searcher .reader ().leaves ()) {
716- SegmentCommitInfo info = segmentReader (reader .reader ()).getSegmentInfo ();
714+ final SegmentReader segmentReader = segmentReader (reader .reader ());
715+ SegmentCommitInfo info = segmentReader .getSegmentInfo ();
717716 assert !segments .containsKey (info .info .name );
718717 Segment segment = new Segment (info .info .name );
719718 segment .search = true ;
@@ -726,7 +725,6 @@ protected Segment[] getSegmentInfo(SegmentInfos lastCommittedSegmentInfos, boole
726725 } catch (IOException e ) {
727726 logger .trace ((Supplier <?>) () -> new ParameterizedMessage ("failed to get size for [{}]" , info .info .name ), e );
728727 }
729- final SegmentReader segmentReader = segmentReader (reader .reader ());
730728 segment .memoryInBytes = segmentReader .ramBytesUsed ();
731729 segment .segmentSort = info .info .getIndexSort ();
732730 if (verbose ) {
@@ -736,8 +734,6 @@ protected Segment[] getSegmentInfo(SegmentInfos lastCommittedSegmentInfos, boole
736734 // TODO: add more fine grained mem stats values to per segment info here
737735 segments .put (info .info .name , segment );
738736 }
739- } finally {
740- searcher .close ();
741737 }
742738
743739 // now, correlate or add the committed ones...
0 commit comments