Hi Vishal -
Great that you're interested in contributing! This would be a really neat
feature to get into ZK.
The documentation that exists is essentially all on the JIRA. I had a patch
that 'worked' but was nowhere near commit-ready. I'm trying to dig it up,
but it appears it may have gone to the great bit-bucket in the sky. Trunk
has moved sufficiently that a new patch would be required anyhow.
There were two main difficulties with this issue. The first is changing the
voting protocol to cope with changes in views. Since proposals are
pipelined, the leader needs to keep track of what the view was that should
vote for a proposal. IIRC, the other subtlety is making sure that when a
view change is proposed, a quorum of votes is received from both the
outgoing view and the incoming one. Otherwise it's possible to transition to
a 'dead' view in which no progress can be made.
The second is to figure out the metadata management - how do we 'find'
ZooKeeper servers if the ensemble may have moved onto a completely separate
set of machines? That is, if the original ensemble was on A, B, C and the
current ensemble is D, E, F - where do we look to find where the ensemble is
The first is a solved issue, the second is more a matter of taste than
designing distributed protocols.
Really happy to help with this issue - I'd love to see it get resurrected.
On 3 May 2010 07:25, Vishal K <vishalm...@gmail.com> wrote:
> Hi Henry,
> I just commented on the Jira. I would be happy to contribute.
> Please advise on the current status and next steps. Thanks.