[ 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.