[ https://issues.apache.org/jira/browse/ZOOKEEPER-107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12705794#action_12705794
]
Benjamin Reed commented on ZOOKEEPER-107:
-----------------------------------------
sounds great henry! it would be great if you could work on this.
i think we have two strategies:
1) have the cluster agree on a list of servers and use the atomic broadcast to agree on changes.
(this might be a bit more difficult with the flexible quorum configuration. right flavio?)
this is mostly in line with your first three points. btw, i don't think you need to quiesce
for this or even do the sync. i think you can do a conditional update.
2) use some external resource file indicated by a URL to define the machines that make up
a cluster. this is in line with your last point and you hint at this with your first point.
i think the first approach is safer and more reliable. the second is easier to implement and
easier to see what is going on, but i during transition time you have a problem as the resource
file propagates through the cluster. (you could have different members with different views.)
the thing i was thinking of for the first option is exposing the cluster config through a
znode '/.zookeeper/ensemble' or something like that. then changing the configuration would
be as "simple" as conditionally setting a new version of that file. the tricky part is that
you could only commit the change if you have a quorum of followers in both the old and the
new configuration. this seems to be in line with what you are thinking correct?
> 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
>
> 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.
|