Skip to content
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

Atomic storage API rework #100

Closed
wants to merge 1 commit into from

Conversation

JonathanArns
Copy link
Contributor

Please make sure these boxes are checked, before submitting a new PR.

  • You ran the local CI checker with ./check.sh with no errors
  • You reference which issue is being closed in the PR text (if applicable)
  • You updated the OmniPaxos book (if applicable)

Issues

fixes #97

Breaking Changes

This is supposed to be a major rework of the storage API (and everything that entails, likely touching a lot of places in the code), with the goal of enabling truly atomic storage implementations. The idea is described in the above issue in more detail.

We will try to stay almost compatible with existing storage implementations, by providing a sort of compatibility layer that can provide basic atomicity for non-atomic storage implementations.

@JonathanArns
Copy link
Contributor Author

So far all that has been done here is that @kevin-harrison and I drafted how the storage related types might look in the future.
At least NonAtomicStorage will likely need to change a little more, in order to hopefully accommodate rollbacks of log operations (append, trim). We should of course try to stay within the bounds of what is reasonable to implement in the context of an append log (so we don't enforce super-slow implementations in some way).

@haraldng
Copy link
Owner

Superseded by #121.

@haraldng haraldng closed this Nov 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Proposal: support truly atomic storage implementations
2 participants