[sheepdog] [PATCH 00/13] zookeeper driver cleanup and rework
Liu Yuan
namei.unix at gmail.com
Tue Dec 18 06:37:48 CET 2012
From: Liu Yuan <tailai.ly at taobao.com>
Current zookeeper driver won't work with master. Even simple following commands
collie cluster format;
collie vdi create test 1G;
on a newly created cluster will cause hang for ever.
This patchset is try the first round to make it work with master code and also
do a heavy cleanups/refactory.
Compared to old driver:
- Put all the events into the zk_queue and result in a totally ordered event
sequence.
- Block/unblock events are linked into a dedicated list to implement blocking
semantics as corosync
- better master choosing method to allow concurrent start of multile nodes.
- add an option to control sesstion timeout at sheep start-up command
After this set gets merged, the next round is integrate zookeeper driver into
test frame and stable it a bit more.
Liu Yuan (13):
zookeeper: rework zoo helpers
zookeeper: fix clientid when sesstion changes
zookeeper: refactor event handling
zookeeper: use PRId32_t to print queue_pos
zookeeper: cleanup paramter passing
zookeeper: refactor zk_queue_push_back()
zookeeper: use rbtree instead of glib's binary tree
zookeeper: refactor zk_member_init()
zookeeper: further reduce the parameters of zoo_xxx helpers
zookeeper: remove field 'join' of zk_node
zookeeper: remove clientid from zk_node
zookeeper: rework block/unblock and leave event handling
zookeeper: add an option to control heartbeat timeout
sheep/cluster/zookeeper.c | 925 ++++++++++++++++++++-------------------------
1 file changed, 402 insertions(+), 523 deletions(-)
--
1.7.9.5
More information about the sheepdog
mailing list