[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