Skip to content

Commit 1460a3f

Browse files
authored
Only pull SegmentReader once in getSegmentInfo (#27121)
1 parent 0174d13 commit 1460a3f

File tree

1 file changed

+3
-7
lines changed
  • core/src/main/java/org/elasticsearch/index/engine

1 file changed

+3
-7
lines changed

core/src/main/java/org/elasticsearch/index/engine/Engine.java

+3-7
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)