You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ch...@apache.org on 2025/08/15 10:35:27 UTC
(lucene) branch branch_10x updated: Use READONCE to read segment infos (#15074)
This is an automated email from the ASF dual-hosted git repository.
chegar pushed a commit to branch branch_10x
in repository https://gitbox.apache.org/repos/asf/lucene.git
The following commit(s) were added to refs/heads/branch_10x by this push:
new 82b8ad1baa5 Use READONCE to read segment infos (#15074)
82b8ad1baa5 is described below
commit 82b8ad1baa5c1027bd869239ff73e76d9f133620
Author: Chris Hegarty <62...@users.noreply.github.com>
AuthorDate: Fri Aug 15 11:34:34 2025 +0100
Use READONCE to read segment infos (#15074)
This commit uses READONCE to read segment infos.
relates #15068
---
lucene/CHANGES.txt | 2 ++
lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index 521328a1d18..77aa940dc82 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -176,6 +176,8 @@ Bug Fixes
* GITHUB#14922: Fix for IndexedDISI.Dense#intoBitSetWithinBlock to take into account the provided bitset size
and avoid throwing IndexOutOfBoundsException (Panagiotis Bailis)
+* GITHUB#15074: Fix to use READONCE when reading segment infos (Chris Hegarty)
+
Build
---------------------
* Upgrade forbiddenapis to version 3.9. (Uwe Schindler)
diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java b/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java
index 0418ef746f5..3b65e1cbff8 100644
--- a/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java
+++ b/lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java
@@ -403,7 +403,7 @@ public final class SegmentInfos implements Cloneable, Iterable<SegmentCommitInfo
input.readBytes(segmentID, 0, segmentID.length);
Codec codec = readCodec(input);
SegmentInfo info =
- codec.segmentInfoFormat().read(directory, segName, segmentID, IOContext.DEFAULT);
+ codec.segmentInfoFormat().read(directory, segName, segmentID, IOContext.READONCE);
info.setCodec(codec);
totalDocs += info.maxDoc();
long delGen = CodecUtil.readBELong(input);