-
Notifications
You must be signed in to change notification settings - Fork 972
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
Post restore reset #545
Post restore reset #545
Commits on Mar 12, 2023
-
Introduce MonotonicLogStore interface
This commit introduces an interface which acts as a handler for a leaky abstraction in the structure of underlying log stores. In order to properly handle post-snapshot-restore cleanup for log stores generically, we need some awareness of whether the underlying store permits gaps. Boltdb allows for gaps in log store indices, but to handle them it requires a freelist, which is written on every commit. This is costly, particularly when the freelist is large. By completely resetting the LogStore after snapshot, we grow the size of the freelist, which would result in performance degradation. The MonotonicLogStore interface is implemented by LogStores with guarantees of sequential/monotonic indices, like raft-wal, but reverts to the old behavior for boltdb. This also requires special handling within LogStore wrappers (like LogCache), to ensure that the type assertion is passed to the underlying store.
Configuration menu - View commit details
-
Copy full SHA for ec7349b - Browse repository at this point
Copy the full SHA ec7349bView commit details -
Reset old logs after snapshot restore
This commit makes use MonotonicLogStore type assertion to delete all entries from the LogStore after snapshot restore.
Configuration menu - View commit details
-
Copy full SHA for f10b599 - Browse repository at this point
Copy the full SHA f10b599View commit details
Commits on Mar 15, 2023
-
Apply suggestions from code review for doc strings of StoreLogs and M…
…onotonicLogStore Co-authored-by: Paul Banks <banks@banksco.de>
Configuration menu - View commit details
-
Copy full SHA for 6a0fb47 - Browse repository at this point
Copy the full SHA 6a0fb47View commit details -
remove deletion of logs from restore on startup code path. update tes…
…t to ensure logs are not deleted.
Configuration menu - View commit details
-
Copy full SHA for dd08310 - Browse repository at this point
Copy the full SHA dd08310View commit details -
Configuration menu - View commit details
-
Copy full SHA for ca621fc - Browse repository at this point
Copy the full SHA ca621fcView commit details
Commits on Mar 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 0f08583 - Browse repository at this point
Copy the full SHA 0f08583View commit details -
Verifying raft logs removal vs non-removal for monotonic and non-mono…
…tic during user restore.
Configuration menu - View commit details
-
Copy full SHA for fc09cbd - Browse repository at this point
Copy the full SHA fc09cbdView commit details -
assert log removal/non-removal across all raft nodes, not just leader…
…. re-use monotonic cluster options in test.
Configuration menu - View commit details
-
Copy full SHA for 7d73c13 - Browse repository at this point
Copy the full SHA 7d73c13View commit details
Commits on Mar 17, 2023
-
Apply suggestions from code review for doc strings for DeleteLogs
Co-authored-by: Paul Banks <banks@banksco.de>
Configuration menu - View commit details
-
Copy full SHA for 4e27599 - Browse repository at this point
Copy the full SHA 4e27599View commit details -
Configuration menu - View commit details
-
Copy full SHA for c12c1a2 - Browse repository at this point
Copy the full SHA c12c1a2View commit details -
Configuration menu - View commit details
-
Copy full SHA for fdcb70b - Browse repository at this point
Copy the full SHA fdcb70bView commit details