[
https://issues.apache.org/jira/browse/ZOOKEEPER-107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12720790#action_12720790
]
Benjamin Reed commented on ZOOKEEPER-107:
-----------------------------------------
oh right. you are correct. i guess it is more of a liveness/correctness issue:
1) start with A, B, C, D
2) B is down and A is the leader and proposes LEAVE C and fails where only D
gets it.
3) C and D cannot get quorum since C has an older view.
4) D fails
5) A and B come back up and B is elected leader.
6) B proposes LEAVE A and C gets it before B fails.
Now what happens? we cannot get quorum with just A and C since A has the old
view. even if D comes up it will not elect C because it does not believe C is
part of the ensemble. if they all come up either C or D can be elected leader,
but if C is elected you end up with conflicting views: A thinks (B, C, D), B
thinks (B, C, D), C thinks (B, C, D), and D thinks (A, B, D), so both A and D
will effectively be out of the ensemble and you can't tolerate any failures.
> Allow dynamic changes to server cluster membership
> --------------------------------------------------
>
> Key: ZOOKEEPER-107
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-107
> Project: Zookeeper
> Issue Type: Improvement
> Components: server
> Reporter: Patrick Hunt
> Attachments: SimpleAddition.rtf
>
>
> Currently cluster membership is statically defined, adding/removing hosts
> to/from the server cluster dynamically needs to be supported.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.