jpountz commented on a change in pull request #1434: LUCENE-9324: Add an ID to
SegmentCommitInfo
URL: https://github.com/apache/lucene-solr/pull/1434#discussion_r409804272
##########
File path: lucene/core/src/java/org/apache/lucene/index/SegmentInfos.java
##########
@@ -374,7 +376,15 @@ public static final SegmentInfos readCommit(Directory
directory, ChecksumIndexIn
if (softDelCount + delCount > info.maxDoc()) {
throw new CorruptIndexException("invalid deletion count: " +
softDelCount + delCount + " vs maxDoc=" + info.maxDoc(), input);
}
- SegmentCommitInfo siPerCommit = new SegmentCommitInfo(info, delCount,
softDelCount, delGen, fieldInfosGen, dvGen);
+ final byte[] sciId;
+ if (format > VERSION_74) {
+ sciId = new byte[StringHelper.ID_LENGTH];
+ input.readBytes(sciId, 0, sciId.length);
+ } else {
+ sciId = infos.id;
+ // NOCOMMIT can we do this? it would at least give us consistent BWC
but we can't identify the same SCI in different commits
Review comment:
When we introduced SegmentInfos#getId, we returned `null` as an ID for older
segments. This is probably a safer option here as well, as callers can fall
back to whatever behavior makes sense for them such as using a strong hash of
the commit files as an ID, or re-downloading all files of the commit all the
time and giving up incrementality?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]