forked from fjall-rs/lsm-tree
-
Notifications
You must be signed in to change notification settings - Fork 1
feat(checkpoint)!: hard-link snapshot for PITR backup (V5 storage) #276
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
Merged
Merged
Changes from all commits
Commits
Show all changes
42 commits
Select commit
Hold shift + click to select a range
580e44a
feat(checkpoint): hard-link snapshot for PITR backup
polaz fcbab5c
refactor(checkpoint): prefer core/alloc imports for no-std friendliness
polaz dd23588
fix(checkpoint): address race conditions, cleanup, and test hardening
polaz 8fde911
fix(checkpoint): tighten cleanup, TOCTOU, hard-link strategy, and tests
polaz 5c5db06
fix(fs,docs): gate raw EXDEV test to Unix + clarify watermark docstring
polaz efa793b
refactor(checkpoint,fs,deletion-pause): tighten public surface + log …
polaz 5faae35
fix(checkpoint,fs,tests): parent fsync, copy cleanup, race-test hands…
polaz 16e2118
fix(checkpoint): seqno watermark race + warn→debug doc alignment
polaz 0abd9ea
fix(checkpoint,fs,tests): align hard_link docs/behavior + log cross-b…
polaz 3e1e880
test(checkpoint): regression for MVCC GC leak through flush
polaz 27c1b2d
fix(checkpoint): pass 0 as flush GC threshold, not SeqNo::MAX
polaz 4471fef
docs(checkpoint): correct seqno in MVCC regression test docstring
polaz 8378b2f
docs(checkpoint): correct crash-recovery comment for missing CURRENT
polaz b42bf79
docs(checkpoint): explain why link_or_copy_cross_fs re-stats dst
polaz 4d4d5b2
feat(fs): add Fs::backend_id namespace capability check
polaz 8ec05fe
test(checkpoint): regression for missing/corrupt CURRENT pointer
polaz 7d513eb
fix(tree): reject half-written checkpoint when CURRENT is missing
polaz 33914fd
fix(tree): treat missing directory as 'no state' in version-state probe
polaz 70904ba
feat(tree): log open failure when CURRENT is missing with stale state
polaz b2a4558
refactor(deletion_pause): swap std::sync::Mutex for spin::Mutex
polaz 6f2f7b5
fix(checkpoint): fsync parent dir for relative target paths + name CU…
polaz 3dfec59
test(checkpoint): assert ErrorKind::AlreadyExists structurally
polaz 3ef4e07
test(deletion_pause): replace timing-based race reproducer with hands…
polaz 21d031a
docs(readme): mention create_checkpoint in the Concurrency & API section
polaz 0b8ba45
feat(tree): return structured Io(InvalidData) for half-written checkp…
polaz 8f00597
test(checkpoint): structural ErrorKind assert in early-reject failure…
polaz f3bd055
fix(vlog): close blob file accessor before unlinking on drop
polaz e369bf0
test(checkpoint): regression for manifest-GC race deleting captured vN
polaz 80f731e
fix(checkpoint): serialise captured Version into target instead of co…
polaz 6aaeba8
test(checkpoint): tighten tamper test + use authoritative version id
polaz 40f0b3f
test(checkpoint): regression for parent-fsync . path on non-StdFs
polaz 54c202e
fix(checkpoint): skip parent fsync when target.parent() is empty
polaz 8a2c200
test(checkpoint): regression for ./checkpoint relative target on MemFs
polaz a6e8afc
fix(checkpoint): normalise target_root by stripping CurDir components
polaz 79a0ad8
test(checkpoint): make concurrent_writes watermark assertion meaningful
polaz dda582a
feat(filter)!: V5 storage format breaks V3/V4 compatibility
polaz a2d5d81
test(deletion_pause): make race test actually interleave A's drop and…
polaz 9808f74
docs(checkpoint): correct CheckpointInfo::seqno watermark semantics
polaz 4be0ddb
refactor(checkpoint): no-std-friendlier deletion pause + cleanup on c…
polaz 240019d
refactor(deletion-pause,compression): switch to OnceBox for no-std-fr…
polaz 9d839cc
fix(merge): align IteratorValue Eq with Ord (key + Reverse(seqno))
polaz d767602
docs(compression,cargo): correct OnceBox wording + once_cell rationale
polaz File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.