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.
Implements a 3 phased approach similar to the C# version.
Phase 1: Collects records from the region to be compacted into a mini-FASTER instance.
Phase 2: Scans records in FASTER's log upto the safe read-only offset, deleting them from the mini-FASTER instance.
Phase 3: Inserts records from the mini-FASTER into the hybrid log as long as they don't exist in it's mutable region.
Also includes a scan iterator that scans records between a provided address range. Like the C# version, this iterator is capable of buffering pages that are on disk.