Make SegmentInfos#readCommit(Directory, String, int) public (#14027)

The corresponding readLatestCommit method is public and can be used to
read segment infos from indices that are older than N - 1.
The same should be possible for readCommit, but that requires the method
that takes the minimum supported version as an argument to be public.
This commit is contained in:
Luca Cavanna 2024-12-02 10:24:56 +01:00
parent b732543b57
commit c8018b220d
2 changed files with 11 additions and 2 deletions

View File

@ -106,6 +106,8 @@ Bug Fixes
* GITHUB#13990: Added filter to the toString() method of Knn[Float|Byte]VectorQuery
and DiversifyingChildren[Float|Byte]KnnVectorQuery. (Viswanath Kuchibhotla)
* GITHUB#14027: Make SegmentInfos#readCommit(Directory, String, int) public
Build
---------------------

View File

@ -284,7 +284,14 @@ public final class SegmentInfos implements Cloneable, Iterable<SegmentCommitInfo
return readCommit(directory, segmentFileName, Version.MIN_SUPPORTED_MAJOR);
}
static final SegmentInfos readCommit(
/**
* Read a particular segmentFileName, as long as the commit's {@link
* SegmentInfos#getIndexCreatedVersionMajor()} is strictly greater than the provided minimum
* supported major version. If the commit's version is older, an {@link
* IndexFormatTooOldException} will be thrown. Note that this may throw an IOException if a commit
* is in process.
*/
public static final SegmentInfos readCommit(
Directory directory, String segmentFileName, int minSupportedMajorVersion)
throws IOException {
@ -307,7 +314,7 @@ public final class SegmentInfos implements Cloneable, Iterable<SegmentCommitInfo
}
/** Read the commit from the provided {@link ChecksumIndexInput}. */
static final SegmentInfos readCommit(
public static final SegmentInfos readCommit(
Directory directory, ChecksumIndexInput input, long generation, int minSupportedMajorVersion)
throws IOException {
Throwable priorE = null;