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]

Reply via email to