Skip to content

Support non-voting members in etcd server #9161

Closed
@jpbetz

Description

@jpbetz
Contributor

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.

Activity

self-assigned this
on Jan 17, 2018
added this to the v3.4.0 milestone on Jan 17, 2018
xiang90

xiang90 commented on Jan 17, 2018

@xiang90
Contributor

/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

xiang90 commented on Jan 26, 2018

@xiang90
Contributor

@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

self-assigned this
on Sep 10, 2018
gyuho

gyuho commented on Sep 10, 2018

@gyuho
Contributor

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

jingyih

jingyih commented on Mar 13, 2019

@jingyih
Contributor

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

jingyih

jingyih commented on Jun 9, 2019

@jingyih
Contributor

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

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @jpbetz@xiang90@gyuho@jingyih

      Issue actions

        Support non-voting members in etcd server · Issue #9161 · etcd-io/etcd