hadoop-zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henry Robinson (JIRA)" <j...@apache.org>
Subject [jira] Commented: (ZOOKEEPER-107) Allow dynamic changes to server cluster membership
Date Sat, 02 May 2009 00:11:30 GMT

    [ https://issues.apache.org/jira/browse/ZOOKEEPER-107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12705192#action_12705192
] 

Henry Robinson commented on ZOOKEEPER-107:
------------------------------------------

This is something I'd be willing to work on.

Just to sum up my current understanding of the requirements:

1. Must support off-cluster getPeers operation for a recovering peer to bootstrap itself (can
cache in its own persistent storage, but that could potentially be out of date by recovery
time). This is probably best realised with the URI idea as before.

2. Support for join and leave operation. With a quiescent cluster, join is probably as simple
as a sync followed by a commit of the new peer's id to all followers (if nothing else, this
ensures that if one of them should be elected the master, they know how big the quorum should
be). Leaves are similar, without the sync obviously. If a peer leaves before the Leave( )
operation completes, it will look like a crash. 

3. If joining / leaving a cluster that doesn't have a currently elected master, block until
one exists. If the cluster is currently failed due to f+1 failures, it might be necessary
to timeout in order to prevent being permanently blocked if this is in the middle of a code
path.

4. However, if joining / leaving a cluster that has never bootstrapped it's important to do
something different so as to allow the cluster to achieve a quorum. One solution is for a
node to check if its id is in the list of peers at the cluster URI which will tell it if it
was ever a member of the cluster previously (or part of the initial membership) and then participate
in master elections. This places a requirement on the peer list to be kept reasonably accurate
(but this could only affect liveness, not safety, I think).

Please chime in with comments / stuff that I've missed / bugs, otherwise I'll work on fleshing
this out.



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


Mime
View raw message