[sheepdog] [PATCH] sheepkeeper: a new cluster manager specialized for sheepdog

Hitoshi Mitake h.mitake at gmail.com
Sun Nov 4 16:58:20 CET 2012

On Sun, Nov 4, 2012 at 1:25 PM, Liu Yuan <namei.unix at gmail.com> wrote:
> On 10/21/2012 09:42 PM, Hitoshi Mitake wrote:
>> This is still very incomplete, very buggy and very inefficient. The
>> degree of incompleteness is that it doesn't free() obsolete memory
>> area and checking return values of system calls which must be done.
>> In addition, it can't handle many important situation of join and
>> leave of nodes. And it doesn't handle almost every error. A single
>> death of node can kill an entire system.
> I am wondering when the patch is ready to be merged? Not perfectly
> functional but at least no obvious easy bugs and have complete error
> handling.

Thanks for your review, Yuan.

>> sheepkeeper cluster manager is designed as master-slave. So it can be
>> SPOF. But I'm planning to let it be redundant by utilizing corosync.
>> This patch adds the new directory sheepkeeper/ for it, and the
>> executable binary will be produced as sheepkeeper/sheepkeeper.
>> The cluster driver for sheep is added as sheep/cluster/sheepkeeper.c.
>> And I have to note that this patch adds odd change to lib/event.c. A
>> new member is added to struct event_info. This new member is added for
>> avoiding memory corruption caused by other part of this patch. I can't
>> pointed out the bug, I'll try to find it later and remove the dummy
>> member.
> For merging, this kind of bug should be dug out.

Yes, the main changes I want to make before merging are:
* reduce the above bug and remove dummy member from event_info
* remove die(), log(), debug_printf(), and _xcalloc(). For doing this,
I should make some change on lib/logger.c etc.

>> If it can be improved, this can be an alternative of the group
>> management part of ZooKeeper, and it doesn't depend on JVM.
> I think if this patch set ready to be merged, I can lend hand to it and
> it would be improved in a much faster pace.

Thanks a lot, I'll send the updated version soon.


More information about the sheepdog mailing list