[
https://issues.apache.org/jira/browse/RATIS-1592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17554613#comment-17554613
]
Song Ziyang commented on RATIS-1592:
------------------------------------
[~liuyaolong]
Consider this:
A group contains original 3 members [A, B, C], and C crashes. [D, E] both
detects this abnormality, and both volunteer to join the group so that the
3-copy policy is maintained. Add-mode ends up both D & E join the group and
there are 4 copies. But we really want here is strict 3-copy, so the first
arrived join-request should be permitted, and the rest should be rejected. This
can be implemented by CAS semantic.
1. D sends setConfigurationCAS(old=[A,B], new=[A,B,D])
2. E sends setConfigurationCAS(old=[A,B], new=[A,B,E])
Only one of the request can be successfully executed, and avoid the 4-copy
situation.
> Concurrent setConfiguration
> ---------------------------
>
> Key: RATIS-1592
> URL: https://issues.apache.org/jira/browse/RATIS-1592
> Project: Ratis
> Issue Type: Improvement
> Reporter: Song Ziyang
> Priority: Major
>
--
This message was sent by Atlassian Jira
(v8.20.7#820007)