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

Decided snapshot, add example and remove runtime #57

Merged
merged 16 commits into from
Feb 22, 2023
Merged

Conversation

haraldng
Copy link
Owner

@haraldng haraldng commented Feb 22, 2023

  • You ran rustfmt on the code base before submitting (on latest nightly with rustfmt support)
  • You reference which issue is being closed in the PR text (if applicable)
  • You updated the OmniPaxos book (if applicable)

Issues

Fix #41 , Fix #54, Fix #55

  • Snapshots are only applied on decided entries, thus avoiding the trouble having to deal with intermediate snapshots.
  • Removed the runtime and used most of the code with tokio as an example for building a KV-store instead.

Breaking Changes

  • The structs SequencePaxos and BallotLeaderElection and their interaction are now hidden from the users. Instead, users interact with the OmniPaxos struct that uses one common message queue.
  • Replaced the unnecessary tick() with a election_timeout(). Users only need to set a timer and call it, rather than ticking.
  • Removed unnecessary constructors for the different message types.

Other Changes

  • Added basic snapshot test and updated existing tests to use more proposals.
  • Refactored the code of Sequence Paxos into different files for the leader and follower.

@haraldng haraldng merged commit 07e8439 into master Feb 22, 2023
@haraldng haraldng deleted the decided-snapshot branch June 27, 2023 19:14
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.

Create example and remove omnipaxos_runtime OmniPaxos struct Intermediate/Multi-versioning of Snapshots
1 participant