From: Martin Schwenke Date: Sat, 22 Jan 2022 19:18:51 +0000 (+1100) Subject: ctdb-recoverd: Always send unknown leader broadcast when starting election X-Git-Tag: tevent-0.12.0~723 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bf55a0117d045e8ca888f7e01591cc2a2bce9223;p=thirdparty%2Fsamba.git ctdb-recoverd: Always send unknown leader broadcast when starting election This is currently missed when the cluster lock is lost. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14958 Signed-off-by: Martin Schwenke Reviewed-by: Amitay Isaacs --- diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c index a28a287b5aa..820bb627694 100644 --- a/ctdb/server/ctdb_recoverd.c +++ b/ctdb/server/ctdb_recoverd.c @@ -1877,6 +1877,8 @@ static void force_election(struct ctdb_recoverd *rec) } rec->election_in_progress = true; + /* Let other nodes know that an election is underway */ + leader_broadcast_send(rec, CTDB_UNKNOWN_PNN); if (cluster_lock_enabled(rec)) { cluster_lock_election(rec); @@ -1976,9 +1978,6 @@ static void leader_broadcast_timeout_handler(struct tevent_context *ev, rec->leader_broadcast_timeout_te = NULL; - /* Let other nodes know that an election is underway */ - leader_broadcast_send(rec, CTDB_UNKNOWN_PNN); - D_NOTICE("Leader broadcast timeout. Force election\n"); force_election(rec); }