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

Bootstrap embedded metadata store #2408

Open
1 of 7 tasks
Tracked by #1784
tillrohrmann opened this issue Dec 12, 2024 · 0 comments
Open
1 of 7 tasks
Tracked by #1784

Bootstrap embedded metadata store #2408

tillrohrmann opened this issue Dec 12, 2024 · 0 comments
Assignees

Comments

@tillrohrmann
Copy link
Contributor

tillrohrmann commented Dec 12, 2024

When running an embedded metadata store, we need to bootstrap them with an initial configuration (peers of the Raft/OmniPaxos cluster). To avoid introducing a new id which users would have to configure independently of the NodeId and the node name, we want to reuse the NodeId of a node as its peer id. Since we need to write the NodesConfiguration to the metadata store to obtain our NodeId, we have a chicken-egg problem.

To solve this problem, we can introduce an explicit signal that tells one node to be the seed node of the Raft/OmniPaxos cluster. This node can create an initial NodesConfiguration and start the metadata store with itself as its only peer. Once this has happened, all other nodes can update the NodesConfiguration in the now running metadata store to obtain their node id. Later we can reconfigure the metadata store cluster to include other metadata store nodes as peers to increase its resilience.

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