]> git.proxmox.com Git - mirror_corosync.git/commit - exec/coroparse.c
votequorum: add last_man_standing support (default: off)
authorFabio M. Di Nitto <fdinitto@redhat.com>
Wed, 4 Jan 2012 14:31:10 +0000 (15:31 +0100)
committerFabio M. Di Nitto <fdinitto@redhat.com>
Tue, 10 Jan 2012 14:48:17 +0000 (15:48 +0100)
commit10098dba27f883f4e746f2ee89cb982e4f4ce000
tree0dc211e189957fed507115aff11632a45669e9c0
parent9589611dc47d8389e693234ca02df315e7f98a37
votequorum: add last_man_standing support (default: off)

this flag (0|1) can be configured via quorum.last_man_standing and when
enabled, it allows expected_votes to be dynamically recalculated.

Assuming an 8 nodes cluster, every node votes 1 (mandatory requirement for
this feature).

In the first event, 3 nodes are lost.

The remaining partition of 5 is barely quorate.

After a configurable timeout (quorum.last_man_standing_window, default 10sec)
the quorate partition is allow to recalculate expected_votes based on
the remaining nodes.

This operation will bring expected_votes to 5 and quorum to 3.

Repeating the above loop, in the next event, 2 more nodes are allowed to
die. etc. etc.

Reviewed-by: Steven Dake <sdake@redhat.com>
Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
exec/coroparse.c
services/votequorum.c