forked from fjall-rs/lsm-tree
-
Notifications
You must be signed in to change notification settings - Fork 2
feat(salvage): faithful + fast recovery and in-place ECC autoheal #586
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
Closed
Closed
Changes from 10 commits
Commits
Show all changes
61 commits
Select commit
Hold shift + click to select a range
4335bc9
feat(salvage): faithful + fast recovery and in-place ECC autoheal
polaz cc0b68e
fix(repair): re-restrict salvage output on the recovery-failure path
polaz 36ffa84
fix(compaction): retract published restriction sidecars when a slice …
polaz 8d33e3d
fix(repair): restore the original when re-restriction faults transiently
polaz ec59d98
docs: correct recovery policy, salvage signature, and intra-doc links
polaz 920995c
refactor(vlog): name the accepted blob-file meta version constant
polaz 68fa731
test(recovery): cover restriction, attestation, and sweep edge cases
polaz d768229
fix(repair): restore the original on any re-restriction failure
polaz a8e26d5
fix(compaction): register a slice sidecar before writing it
polaz 385e2fa
refactor(writer): encode the delete bitmap once for the section and hash
polaz fe020fd
fix(repair): set aside a punched sidecar-less SST that fails recovery
polaz 3b76422
fix(salvage): stop the blob walk once the tail is surrendered
polaz f0acbd5
fix(compaction): restore the prior sidecar bound on a slice rollback
polaz 01ee320
fix(checkpoint): copy the restrict-bound sidecar beside each table
polaz fb92356
refactor(compaction): commit tight-space restrict sidecar after install
polaz 59a75be
fix(checkpoint): bind restrict sidecar to the captured view, not the …
polaz 3b4e845
fix(table): reclaim the restrict-bound sidecar when a table retires
polaz 991dd12
fix(repair): drop the salvaged handle before restoring the original
polaz 8a8ffff
fix(compaction): keep a post-commit punch-offset failure non-fatal
polaz 45855a9
fix(compaction): keep tight-space slices crash-safe and sparse
polaz 69de64e
fix(table): detach a restricted SST by its exact punched extents
polaz 0070906
fix(repair): restrict punched SSTs in resurrection mode, not open the…
polaz 4b48e85
fix(salvage): degrade a persistently-unreadable filter index instead …
polaz c64ce90
fix(verify): mark a report incomplete when block sections are skipped…
polaz 0520f76
fix(repair): quarantine a rejected salvage replacement instead of lea…
polaz 52269b2
fix(verify): propagate the incomplete flag when merging per-SST reports
polaz dbe8ea1
fix(salvage): honor a valid restriction sidecar without probing the d…
polaz 7cfb1b7
fix(repair): move a restriction sidecar with its quarantined SST
polaz a6d78bd
fix(table): cross-check blob links on a restricted view via containment
polaz 34c85be
style(test): drop a redundant Arc clone in the quarantine sidecar test
polaz 1a189ed
fix(table): derive restricted blob-link accounting from the live suffix
polaz 7ebd5bb
docs(repair): drop the punch-probe wording from the sidecar trust model
polaz 9d14978
fix(repair): roll back a quarantine move when the sidecar step fails
polaz d5b92c4
fix(repair): recognize a partially punched SST past an intact first b…
polaz 346f1ca
fix(scrub): scan the current table view when the captured one went stale
polaz 157e9be
fix(scrub): report a contended checksum refresh as a finding
polaz b8ce966
style(repair): reborrow the dropped-block slice without deref
polaz 7088630
docs(compaction): correct the reclaim claim for the pre-sidecar crash…
polaz 2726413
build(table): gate the table test module on the std feature
polaz 26781bb
test(table): assert the degraded-section flag after a faulted filter …
polaz 6ae59b2
test(verify): fold clean SSTs after the incomplete one in the merge test
polaz 33406b2
fix(repair): re-publish the sidecar when its restore rename fails
polaz 40c3862
fix(repair): set aside an irregularly punched SST with no trustworthy…
polaz 474ccd4
feat(repair): reclaim flag-dependent set-asides on a resurrection repair
polaz 5937b80
fix(repair): cap the sidecar rescue read at the maximum valid encoding
polaz f03b39b
fix(table): punch the tight-space prefix top-down, stopping at a failure
polaz d96fb06
fix(checkpoint): flush before taking the link window
polaz a84566b
style(test): drop a redundant path clone in the punch-pattern test
polaz c5b50ef
docs(recovery): align the irregular-pattern cause with the top-down r…
polaz 77966fe
fix(sst-dump): verify ECC parity and surface verification warnings
polaz a381f27
docs(verify): require consumers to surface verification warnings
polaz e711b8e
fix(repair): roll a failed reclaim back into quarantine
polaz 2fa5b21
fix(verify): derive the punched frontier for a standalone restricted …
polaz 13436fd
build(verify): restore the std gate on the ECC probe result type
polaz 8c8f26d
fix(repair): scan surrendered extents in full for punched blocks
polaz 0dafa1d
fix(verify): clear the last punched run when deriving the frontier
polaz 7ff1a8e
style(test): resolve block handles without indexing or expect
polaz d3a2ca3
fix(verify): report the declared TOC offset on a section-length overflow
polaz 4f2fa80
fix(verify): anchor the punched frontier on a decodable block header
polaz 7c9a2f3
fix(repair): require a shared namespace before aliasing duplicate copies
polaz 7d560e8
style(test): build the zero-value fixture fs without a redundant clone
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
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.