perf: Allow all processed commits to be cached in the CompletionTimeQueryViewV2 #17914
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.
Describe the issue this Pull Request addresses
The CompletionTimeQueryViewV2 will load the completion times incrementally and focus on loading the minimal set of files from the archived timeline. The issue is that it will potentially load the same file multiple times since it reads all entries from the file but only processes the instants in the provided range.
The inefficiency is seen when loading the view for instant at time T2 then at time T1. The LSMTimeline is read up to time T1 but only instants up to T2 are processed. The next request for T1 will re-read the file.
Summary and Changelog
Impact
Makes loading the FileSystemView significantly more performant when there are archived instants
Risk Level
Low
Documentation Update
Contributor's checklist