[ 
https://issues.apache.org/jira/browse/RATIS-1298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17278439#comment-17278439
 ] 

Rui Wang commented on RATIS-1298:
---------------------------------

I mean because when a normal follower join Raft ring, it will increase leader's 
burden. Thus if we make the listener/learner catch up from leader, the behavior 
will be the same as follower thus I don't think this is a "regression" for 
Ratis. That's probably the reason why I will call "catch up from follower" is 
an optimization but not mandatory requirement.  

I would also argue that if we allow a follower join the Ratis ring but we don't 
concern the performance, then we shouldn't concern listener/learner. Otherwise 
we should start to change the Ratis implementation to let any new followers 
catch up from another follower first, then connect with the leader.

For etcd: https://etcd.io/docs/v3.3.12/learning/learner/. Seems that it does 
not concern about catching up from leader in its practice.



> Support non-voting members (Listeners/Learners)
> -----------------------------------------------
>
>                 Key: RATIS-1298
>                 URL: https://issues.apache.org/jira/browse/RATIS-1298
>             Project: Ratis
>          Issue Type: New Feature
>          Components: server
>            Reporter: Rui Wang
>            Assignee: Rui Wang
>            Priority: Major
>
> It's time to add the non-voting member, or leaner that is proposed in Raft 
> thesis 4.2.1 (you can find a copy at [1]).
> The leaner is useful to maintain high availability when new servers join Raft 
> ring (details at thesis 4.2.1). For Ozone SCM HA effort, we have also 
> discussed the possibility to utilize leaner as the tool to replace SCM nodes 
> online.
> [1]: https://github.com/ongardie/dissertation



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to