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

Add ability to rollback a versioned tree #26

Open
ecton opened this issue Nov 8, 2021 · 0 comments
Open

Add ability to rollback a versioned tree #26

ecton opened this issue Nov 8, 2021 · 0 comments
Labels
enhancement New feature or request

Comments

@ecton
Copy link
Member

ecton commented Nov 8, 2021

When thinking about how to implement quorum clustering for BonsaiDb, there are a few approaches. One way to achieve higher throughput is by allowing all nodes to act as leaders, not just one. The problem is that if two leaders execute transactions that update the same documents twice to two different values in different orders, chaos ensues.

The fix is to either make transactions always execute in the same order (thus essentially having a single leader), or it's to execute everything in parallel, but place nodes that ended up getting out of the majority-agreed order into a repair-state.

This repair mode will need to roll back the documents tree to a previous transaction ID. In Nebari, this needs to be supported at the Roots level, integrated with the TransactionManager to update the actual transaction log on-disk.

@ecton ecton added the enhancement New feature or request label Nov 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

No branches or pull requests

1 participant