lucene icon indicating copy to clipboard operation
lucene copied to clipboard

Revert required SegmentInfos min version in header check in readCommit to continue binary compatibility with 8.x indexes

Open rahulgoswami opened this issue 1 month ago • 2 comments

Description

#14607 advanced the SegmentInfos version to VERSION_86 (10) in header check during readCommit() to allow tests to find backward codecs until 9.x while throwing a graceful IndexFormatTooOldException for indexes < v8.6.0 (since by default anything < 10x is "too old"). Earlier with VERSION_74 (9), readCodec() would throw an IllegalArgumentException since readCommit now checks for segment level compatibility instead of looking at when the index was first created, and would find the 7.x codecs missing for some of the old indexes. This was causing some of the tests to fail.

However #15431 made me realize that we can afford to allow binary readability on 8.x indexes like was the case previously and also keep the tests happy., This change would also help keep the core logic and constraints consistent across 10x and main.

rahulgoswami avatar Nov 25 '25 18:11 rahulgoswami

@msokolov I have reverted to VERSION_74 as discussed on #15431

rahulgoswami avatar Nov 25 '25 18:11 rahulgoswami

Hi @msokolov , gentle reminder for whenever you are able to get to this. Thank you.

rahulgoswami avatar Dec 04 '25 16:12 rahulgoswami

Hi @msokolov, may I please bug you with another reminder?

rahulgoswami avatar Dec 17 '25 22:12 rahulgoswami

I've merged this in.

dweiss avatar Dec 18 '25 07:12 dweiss

woops, thanks everyone!

msokolov avatar Dec 18 '25 13:12 msokolov

Thanks @dweiss and @msokolov!

rahulgoswami avatar Dec 19 '25 11:12 rahulgoswami