[PATCH] Fix error handling when recovery fails (bug 12857)

Amitay Isaacs amitay at gmail.com
Fri Jun 23 05:40:49 UTC 2017


If freezing a database during recovery fails, then ctdb will endlessly keep
trying to recover without banning the culprit node.  This can be avoided by
assigning banning credits when freezing database fails.

CTDB is supposed to release all public IP addresses if it stays in recovery
for long time (default 120 seconds).  This is to avoid clients getting
stuck on a faulty node.  However, the current logic to set the timer is
broken.  The timer is reset every time SET_RECMODE control is sent.  The
attached patches simplify the code in ctdb_control_set_recomode() and make
it idempotent.  If the required recovery mode is already set, then there is
no reason to do anything.

Please review and push.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: ctdb-recovery.patch
Type: text/x-patch
Size: 8144 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20170623/260040db/ctdb-recovery.bin>

More information about the samba-technical mailing list