Skip to content

Use new no-consensus by default #69

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 99 commits into from
Jul 21, 2024
Merged

Use new no-consensus by default #69

merged 99 commits into from
Jul 21, 2024

Conversation

bplatz
Copy link
Contributor

@bplatz bplatz commented Jun 14, 2024

This creates a new consensus type of :none and updates the default config to use this new type.

Currently raft consensus is run by default even in single-server configurations.

Using no consensus doesn't change much - instead of using raft and multiple communication points for ordering/persisting data redundantly, :none consensus uses a simple async chan loop.

Right now it implements all transactions for all local ledgers in a single queue. One obvious improvement would be to spawn separate queues for each ledger as they can be worked on in parallel without issue.

There is definitely some refactoring/improvements that can be made in organizing and reusing consensus code. This does a few things in that direction, but the focus here was a new feature - not a refactor.

@bplatz bplatz requested a review from a team June 14, 2024 20:24
@@ -0,0 +1,44 @@
(ns fluree.server.consensus.msg-format)

;; to the extent messages through consensus can be shared across
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like an ns docstring instead of a comment

@zonotope zonotope merged commit 48a31cc into main Jul 21, 2024
6 checks passed
@zonotope zonotope deleted the feature/no-consensus branch July 21, 2024 18:34
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.

3 participants