-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Backport #14607 to branch_10x (Index open performs version check on each segment, ignores indexCreatedVersionMajor) #15431
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: branch_10x
Are you sure you want to change the base?
Conversation
…ent, ignores indexCreatedVersionMajor) to brnach_10x
|
gradlew check passes fine, but the nightly tests in TestBinaryBackwardsCompatibility are failing. Specifically TestBinaryBackwardsCompatibility.testReadNMinusTwoCommit and TestBinaryBackwardsCompatibility.testReadNMinusTwoSegmentInfos. These try to test opening N-2 version (=8.x) and expect success. This used to work earlier with VERSION_74 in checkHeaderNoMagic(), but fails now (for version < 8.6.0) since we moved to VERSION_86. Staying with VERSION_74 complains about missing Lucene_70 codec (same as main). "main" doesn't have this problem because N-2=9.x I have not yet understood why we test for N-2 when we anyway don't support the index. And hence still contemplating the right way forward on these failures. To reproduce: |
|
I'm trying to understand what's going on here. One thing that confuses me is why we have: and also what is the difference between "supported" and "binary supported"? |
|
I think what happened is that CheckIndex is now able to read some more of the back-compat indexes that we previously said were incompatible. But this doesn't really make sense since the 10x branch does not include any additional backwards codecs that were removed from main. Some of these indexes cannot be opened, but CheckIndex is able to check them and reports they are clean. I was able to get tests passing by relaxing a few version numbers and by I changing the exception type when we are unable to read the segments file from IllegalArgumentException to IndexFormatTooOldException to match the expectations of the test. Maybe that was bad, but it seems pretty harmless to me? I'm not sure if this change is safe or not. |
Description
Backport #14607 to branch_10x