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 support for reconfiguring embedded metadata store #2412

Open
Tracked by #2408
tillrohrmann opened this issue Dec 12, 2024 · 0 comments
Open
Tracked by #2408

Add support for reconfiguring embedded metadata store #2412

tillrohrmann opened this issue Dec 12, 2024 · 0 comments

Comments

@tillrohrmann
Copy link
Contributor

tillrohrmann commented Dec 12, 2024

In order to reach a highly available metadata store when starting with a single metadata store peer after provisioning, we need to be able to add more peers to the metadata store cluster. While at it, we should also add an option to remove a peer. How the exact procedure looks like will depend on the chosen consensus protocol.

OmniPaxos requires us to propose a new configuration. Once the new configuration has been applied, we need to make sure that newly added nodes are started with the latest kv-store state. This will probably entail that a previous node creates a snapshot which can be fetched by the new node.

Raft requires us to propose a new configuration. As part of the configuration change, new nodes will fetch the up to date log from the existing peers. Therefore, there is no need to manually transfer the kv-store state to a new peer.

Independent of the actual procedure, we need to make sure that reconfigurations survive node crashes. E.g. when using the OmniPaxos protocol the reconfiguration procedure looks like a multi step process. We must ensure that we can recover at any point in time in case of a crash/failure.

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

No branches or pull requests

1 participant