[
https://issues.apache.org/jira/browse/ZOOKEEPER-107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12720313#action_12720313
]
Raghu S commented on ZOOKEEPER-107:
-----------------------------------
Henry, et al. thanks for the feedback on my proposal.
To explain a bit more on the proposal -- I felt that keeping the data and
configuration separate, like it is today, would keep the implementation simple
and non intrusive for core ZK code while ensuring correctness. The issue I see
with storing config in a znode is that the joiner needs to participate in
NEWVIEW ZAB message even when it is not part of the cluster and it needs to
have the latest log before it can commit the NEWVIEW proposal since it
requires writing to the log. At the same time, the leader has to make sure that
it blocks all proposals in between syncing the joiner and executing NEWVIEW. I
felt this could be too intrusive (may be I shouldn't have worried about this
while thinking about a higher level proposal?). Let me know if my
understanding is incorrect.
I don't think my proposal would result in a split brain. I believe there is no
need for two phase during changing cluster configuration as long each attempt
to modify the configuration generates a new version number and the cluster
configuration divergence is reconciled during leader election (peers go with
the configuration with the highest version number). Having a two phase is no
better, since there is no guarantee that all/majority peers have committed the
new configuration and there could be diverged view of cluster configuration
during election. Let me know if I am missing something.
I do believe Henry's proposal would work. I don't have a strong preference for
how we would like to do this, as long as we get it right.
> 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.