Repository navigation
Robj/cache handoff - #687
Merged
Merged
Conversation
This reverts commit 7c65f4b.
Finalize the selected compact caller-owned cache-error and thread-handoff branch for combined review. Preserve the cache-errors ancestry and historical alternatives; record fresh correctness checks and serialized disk-backed before/after measurements.
✅ Deploy Preview for splinterdb canceled.
|
Integrate multi-level blobs from 7d607b1 while preserving fallible caller-owned compact handles and acquiring-thread reference receipts. Adapt new blob pointer-page reads and allocations, preserve recovery cutoffs, and test pointer/data read failures plus live blob-iterator handoff. Validation: 239 debug cases passed with three existing skips; 65 release and 69 ASan cases passed; five functional drivers passed. Twelve serialized real-disk benchmark processes passed. The initial resident point slowdown did not reproduce in reversed order; retain both measurements and their limitations.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Make cache_get fallible and update callers to handle errors.
Switch to a user-supplied page_handle.
Allow page_handles to work across threads, i.e. enable a different thread to perform cache_unget than performed cache_get. This allows many structures (e.g. iterators) to work correctly when passed from one thread to another.