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

Support non-voting members in etcd server #9161

Closed
jpbetz opened this issue Jan 17, 2018 · 5 comments
Closed

Support non-voting members in etcd server #9161

jpbetz opened this issue Jan 17, 2018 · 5 comments

Comments

@jpbetz
Copy link
Contributor

jpbetz commented Jan 17, 2018

Non-voting member support is now available in the RAFT implementation.

Let's add it to etcd server. This will enable new workflows for etcd server migrations and reconfigurations.

@jpbetz jpbetz self-assigned this Jan 17, 2018
@jpbetz jpbetz added this to the v3.4.0 milestone Jan 17, 2018
@xiang90
Copy link
Contributor

xiang90 commented Jan 17, 2018

/cc @siddontang

we will start working on non-voting member soonish. i know tikv is also implementing this. it would be great if you can share your experience with us.

@xiang90
Copy link
Contributor

xiang90 commented Jan 26, 2018

@jpbetz

I just want to add our use case here:

  1. ensure the new node is healthy before actually join into the etcd cluster

if the new node is slow, and cannot catch up with the cluster state, it will effectively reduce the availability factor of the cluster and slow everything down. so before letting it join into the cluster, we want the node to be in learner mode first, and we will only promote it when it does catch up with the cluster state and satisfy our latency requirement.

  1. use learner as a snapshot provider

taking snapshot periodically can take quite some resources from the cluster, especially for one with a huge data set. we want to set up learners to keep the cluster state the same with the etcd core cluster, and take the snapshot from it. it reduces the chance of spike load on the core cluster.

  1. use learner as a read-only fat cache layer

  2. use learner to mirror the cluster into another data center consistently as an alternative to current etcd mirror command which only mirrors the current data incrementally

@gyuho
Copy link
Contributor

gyuho commented Sep 10, 2018

@jpbetz and me are working on this, targeting for v3.4. We will share design doc, once ready.

@jingyih
Copy link
Contributor

jingyih commented Mar 13, 2019

Let's track the implementation in a separate issue #10537.

@jingyih
Copy link
Contributor

jingyih commented Jun 9, 2019

Fixed by #10725, #10727, and #10730.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

4 participants