-
Notifications
You must be signed in to change notification settings - Fork 0
Recover interrupted store migrations with production crash evidence #138
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
29 commits
Select commit
Hold shift + click to select a range
c2414bf
feat: recover interrupted store migrations (refs #108)
flyingrobots 1f26200
Fix: retain observed migration prefix and intent in recovery receipts
flyingrobots 06df8f7
Fix: verify migration stage and canonical inode pairs before resumption
flyingrobots a478a2a
Fix: report receipt-only migration effects precisely
flyingrobots 529b4c6
Fix: revalidate current migration authority before recovery admission
flyingrobots f97df51
Docs: point migration and reader recovery gaps at open owners
flyingrobots b46e70a
Fix: confine migration resumption to admitted recovery (refs #108)
flyingrobots fce0553
Fix: refuse non-regular migration residue before opening it (refs #108)
flyingrobots 71fbe04
Fix: identify receipt residue before incomplete namespaces precisely …
flyingrobots e82877d
Docs: distinguish migration recovery from pending retention recovery …
flyingrobots cc620b8
Fix: admit only protocol-bounded migration crash occurrences (refs #108)
flyingrobots 837b5f4
Fix: propagate migration restart model coordinate failures (refs #108)
flyingrobots 906450b
Docs: state the transition ledger construction and verification bound…
flyingrobots 3b80fa2
Fix: enforce canonical migration ledger fields with mutation laws (re…
flyingrobots 794d472
Fix: derive migration namespace completeness from its canonical names…
flyingrobots 3c57fe4
Docs: reconcile migration recovery status with its executable evidenc…
flyingrobots f1c89ea
Docs: state recovery table admission and receipt evidence conditions …
flyingrobots a58f237
Test: pin checksum causes through migration recovery refusals (refs #…
flyingrobots ca6f9fd
Docs: distinguish migration and retention incomplete-stage discard bo…
flyingrobots 632c694
Docs: distinguish current authority from persisted restart intent (re…
flyingrobots 7f10670
Docs: require exact NUL-terminated fixture hash domains (refs #108)
flyingrobots eca128c
Docs: name executable migration evidence and open gap owners (refs #108)
flyingrobots c44caef
Fix: derive interrupted migration writes from canonical record widths…
flyingrobots abbfe30
Fix: prove migration stage interruption bounds without integer divisi…
flyingrobots 7c9222d
Docs: qualify persisted intent in the recovery summary (refs #108)
flyingrobots e198322
Test: cover every partial canonical namespace extent (refs #108)
flyingrobots 3fe451d
Test: assert only the consequential interruption bounds (refs #108)
flyingrobots d189440
Test: derive case ranges while retaining the frozen directory-count l…
flyingrobots bb1e6f6
Merge restart-coordinate policy and validated main into migration rec…
flyingrobots 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| keep.segment-store.transitions/v2 | ||
| crash_id phase operation pre_state interrupted_class post_state recovery_posture | ||
| KEEP-CRASH-053 migration write-intent-stage admitted-version-one-store absent-or-incomplete-intent-stage complete-intent-stage discard-incomplete-stage-or-resume-stage-sync | ||
| KEEP-CRASH-054 migration sync-intent-stage complete-intent-stage complete-intent-stage durable-intent-stage resume-stage-sync | ||
| KEEP-CRASH-055 migration link-intent durable-intent-stage durable-intent-stage-or-linked-intent linked-intent verify-no-clobber-link-and-resume-root-sync | ||
| KEEP-CRASH-056 migration sync-root-after-intent linked-intent linked-intent durable-intent resume-root-sync | ||
| KEEP-CRASH-057 migration remove-intent-stage durable-intent durable-intent-with-or-without-stage durable-intent-alone resume-cleanup-sync | ||
| KEEP-CRASH-058 migration sync-root-after-intent-cleanup durable-intent-alone durable-intent-alone intent-cleanup-synchronized resume-cleanup-sync | ||
| KEEP-CRASH-059 migration admit-reader-fence intent-cleanup-synchronized intent-with-or-without-reader-fence reader-fence-admitted resume-namespace-prefix | ||
| KEEP-CRASH-060 migration admit-namespace-prefix reader-fence-admitted directory-prefix-length-zero-to-six namespace-prefix-admitted resume-namespace-prefix-or-root-sync | ||
| KEEP-CRASH-061 migration sync-root-after-namespace namespace-prefix-admitted namespace-prefix-admitted durable-namespace-prefix resume-root-sync | ||
| KEEP-CRASH-062 migration write-marker-stage durable-namespace-prefix absent-or-incomplete-marker-stage complete-marker-stage discard-incomplete-stage-or-resume-stage-sync | ||
| KEEP-CRASH-063 migration sync-marker-stage complete-marker-stage complete-marker-stage durable-marker-stage resume-stage-sync | ||
| KEEP-CRASH-064 migration link-marker durable-marker-stage durable-marker-stage-or-linked-marker linked-marker verify-no-clobber-link-and-resume-root-sync | ||
| KEEP-CRASH-065 migration sync-root-after-marker linked-marker linked-marker durable-marker resume-root-sync | ||
| KEEP-CRASH-066 migration remove-marker-stage durable-marker durable-marker-with-or-without-stage durable-marker-alone resume-cleanup-sync | ||
| KEEP-CRASH-067 migration sync-root-after-marker-cleanup durable-marker-alone durable-marker-alone marker-cleanup-synchronized resume-cleanup-sync | ||
| KEEP-CRASH-068 migration write-receipt-stage marker-cleanup-synchronized absent-or-incomplete-receipt-stage complete-receipt-stage discard-incomplete-stage-or-resume-stage-sync | ||
| KEEP-CRASH-069 migration sync-receipt-stage complete-receipt-stage complete-receipt-stage durable-receipt-stage resume-stage-sync | ||
| KEEP-CRASH-070 migration link-receipt durable-receipt-stage durable-receipt-stage-or-linked-receipt linked-receipt verify-no-clobber-link-and-resume-root-sync | ||
| KEEP-CRASH-071 migration sync-root-after-receipt linked-receipt linked-receipt durable-receipt resume-root-sync | ||
| KEEP-CRASH-072 migration remove-receipt-stage durable-receipt durable-receipt-with-or-without-stage complete-migration admit-complete-migration | ||
| KEEP-CRASH-073 migration sync-root-after-receipt-cleanup complete-migration complete-migration durable-complete-migration admit-complete-migration |
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.