Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
[Remove] TrimUnsafeCommit logic for legacy 6.x indexes #2225
[Remove] TrimUnsafeCommit logic for legacy 6.x indexes #2225
Changes from all commits
dad7e94
60e8a58
32e950f
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be fetching the translogUUID as:
instead?
Otherwise, based my code reading,
startingIndexCommit
will always be the same aslastIndexCommit
, making the two if-conditions in this method dead code.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll need to dig a little deeper but I think we want to trim in the corner case that the two are not equal (e.g., the commits are unsafe)? Note: this is just a rote refactor of the existing code that was in the
InternalEngine.trimUnsafeCommits
. We can dig a little deeper in the test case and address in a followup?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My concern is that this change doesn't look like an equivalent refactor.
Previously, InternalEngine computed the
lastSyncedGlobalCheckpoint
using the translog UUID from the latest SegmentInfos. Meanwhile,lastIndexCommit
is the last/oldest commit. With this change,lastSyncedGlobalCheckpoint
is now derived throughlastIndexCommit
rather than the latest one, and the if-conditions have not changed.I recognize that I don't fully understand the unsafe commit check. So is this still the right check to make?
Note - both
DirectoryReader.listCommits
above andstore.readLastCommittedSegmentsInfo()
in InternalEngine start with the same method call -SegmentInfos.readLatestCommit()
on the directory. The difference is that the former not only returns the latest commit, but also fetches commits from othersegments_N
files the directory.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, I take that back. I just realized that I was mis-interpreting the logic in
DirectoryReader.listCommits
- the last commit isn't the oldest but rather the most recent. Feel free to ignore my rambling above :)