This repository has been archived by the owner on Sep 30, 2024. It is now read-only.
support for api/ raft-add-peer and raft-remove-peer #1208
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds new API endpoints:
api/raft-add-peer/:addr
: dynamically add a new raft member. This increases the size of the raft group by 1, thereby possibly changing the quorum size. This API call is made to the leader (a follower will delegate the call to the leader). As for the new node itself, it must know to connect to at least one existing member of the group. Example:10.0.0.1, 10.0.0.2, 10.0.0.3
api/raft-add-peer/10.0.0.4:10008
10.0.0.4
will ideally have this in its config file:api/raft-remove-peer/:addr
: forcibly remove a node from the raft group. The node will not be allowed to content for leadership, will not receive any updates, will be rejected from the group. Only use this when the node is decomissioned or destroyed (e.g. akubernetes
pod is down)api/raft-status
. Example:Related: #253, #246 (comment)