[
https://issues.apache.org/jira/browse/RATIS-2272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ivan Andika updated RATIS-2272:
-------------------------------
Description:
RATIS-1298 added support for Ratis listener (non-voting member). Ratis listener
cannot be promoted to the leader even when it already catch up with the leader.
So currently to add a voting-member, Ratis only supports adding a Raft
follower. However, the issue is that Raft follower is immediately a voting
member, which will include the quorum requirement of the Raft group, although
it might take a while for the new Raft follower to catch up to the leader. This
might cause availability issues in cases like network partition, split brain,
etc.
As discussed in RATIS-1298, we can support Raft learner as a next step. This
will help to resolve availability issues.
This is a long-term effort. However, this would increase the robustness of the
Raft membership add. Currently our cluster requires manually rsync-ing the
leader OM DB to the new OM before starting it to ensure that it can catch up to
the leader as soon as possible.
Resources
* Raft dissertation (Section 4.2.1)
* [https://etcd.io/docs/v3.5/learning/design-learner/]
was:
RATIS-1298 added support for Ratis listener (non-voting member). Ratis listener
cannot be promoted to the leader even when it already catch up with the leader.
So currently to add a voting-member, Ratis only supports adding a Raft
follower. However, the issue is that Raft follower is immediately a voting
member, which will include the quorum requirement of the Raft group, although
it might take a while for the new Raft follower to catch up to the leader. This
might cause availability issues in cases like network partition, split brain,
etc.
As discussed in RATIS-1298, we can support Raft learner as a next step. This
will help to resolve availability issues.
This is a long-term effort. However, this would increase the stability of the
Raft membership add.
Resources
* Raft dissertation (Section 4.2.1)
* [https://etcd.io/docs/v3.5/learning/design-learner/]
> Support Raft learner
> --------------------
>
> Key: RATIS-2272
> URL: https://issues.apache.org/jira/browse/RATIS-2272
> Project: Ratis
> Issue Type: New Feature
> Components: server
> Reporter: Ivan Andika
> Assignee: Ivan Andika
> Priority: Major
>
> RATIS-1298 added support for Ratis listener (non-voting member). Ratis
> listener cannot be promoted to the leader even when it already catch up with
> the leader.
> So currently to add a voting-member, Ratis only supports adding a Raft
> follower. However, the issue is that Raft follower is immediately a voting
> member, which will include the quorum requirement of the Raft group, although
> it might take a while for the new Raft follower to catch up to the leader.
> This might cause availability issues in cases like network partition, split
> brain, etc.
> As discussed in RATIS-1298, we can support Raft learner as a next step. This
> will help to resolve availability issues.
> This is a long-term effort. However, this would increase the robustness of
> the Raft membership add. Currently our cluster requires manually rsync-ing
> the leader OM DB to the new OM before starting it to ensure that it can catch
> up to the leader as soon as possible.
> Resources
> * Raft dissertation (Section 4.2.1)
> * [https://etcd.io/docs/v3.5/learning/design-learner/]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)