[Sheepdog] [zookeeper][PATCH v2 00/11] INTRODUCE

MORITA Kazutaka morita.kazutaka at gmail.com
Mon Apr 30 20:22:17 CEST 2012


At Thu, 26 Apr 2012 23:21:19 +0800,
Yunkai Zhang wrote:
> 
> From: Yunkai Zhang <qiushu.zyk at taobao.com>
> 
> I refactor zookeeper driver with following patches.
> 
> Features:
> - all operations are lock free
> - support more than 1000 nodes
> - optimize the size of message
> - using zookeeper more efficiently 
> 
> These patches have been tested for several weeks in our
> 100 physical machines, we startup 10 sheep processes in each
> machine to simulate 1000 nodes, it works nicely for us.
> 
> At this time, accord is not stable enough for us, this new
> zookeeper driver maybe a good alternative.
> 
> Rebasing these patches is too difficult, hope it can be merged
> as soon as quickly, so that we can imporve it more conveniently
> in the future.
> 
> Yunkai Zhang (11):
>   Refactor zookeeper driver
>   Optimize the size of buffer send to zookeeper
>   retry again when zoo_* api return ZCONNECTIONLOSS/ZOPERATIONTIMEOUT
>     error
>   Fix two bug:
>   Use atomic builtins to replace pthread mutex locks
>   Rewatch znode in /sheepdog/member after it changed
>   If previous zookeeper session exists, shutdown sheep
>   Add code to handle sequence number overflow
>   Fix bug: zk_leave doesn't work
>   Fix bug: leave event lost in zookeeper driver
>   Remove zk_lock from zk_join
> 
>  include/net.h             |    1 +
>  lib/net.c                 |   14 +
>  sheep/cluster.h           |   34 +++-
>  sheep/cluster/zookeeper.c |  677 ++++++++++++++++++++++++++++++++++-----------
>  4 files changed, 559 insertions(+), 167 deletions(-)

Applied after fixing coding style problems.  Please run checkpatch.pl
next time before sending patches.

I think there is still much work to be done on this driver, but let's
switch to a more incremental development.

Thanks,

Kazutaka



More information about the sheepdog mailing list