[
https://issues.apache.org/jira/browse/ZOOKEEPER-107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12719823#action_12719823
]
Benjamin Reed commented on ZOOKEEPER-107:
-----------------------------------------
Raghu, i think henry is correct that you must get an ack from quorums in both
the old and new views before committing the change. otherwise you get split
brain which could result in multiple leaders. henry, i think we are thinking
along the same lines, but i'm a bit skeptical of JOIN and LEAVE. in some sense
they are a bit of an optimization that can be implemented with GETVIEW and
NEWVIEW. it would be nice to make the mechanism as simple as possible. it also
seems like you would also require a GETVIEW to be done before doing a NEWVIEW,
just for sanity. (require an expected version on NEWVIEW and not allow a -1.) i
was thinking that we would just push NEWVIEW through Zab making sure we get
acks from quorums in both the old and new views.
to help mitigate the case where proposing the NEWVIEW leads to a case where the
system freezes up when the NEWVIEW proposal goes out and there isn't a quorum
in the new view, the leader should probably make sure that it currently has
quorum of followers in the new view before proposing the request. if it
doesn't, it should error out the request. even with this we can still freeze up
if we lose quorum in the new view after issuing the proposal, but that would
happen anyway (as you point out), but it would prevent us from doing something
that has no chance of working.
> 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.