summaryrefslogtreecommitdiff
path: root/ctdb
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2022-01-23 06:18:51 +1100
committerJule Anger <janger@samba.org>2022-02-15 09:01:14 +0000
commitddda97dc146179a035485219bca6af2338b360e9 (patch)
tree242c7cb3643fa0b216b027c5a6d5ac6f0a179de9 /ctdb
parent758e953ee07343e1e3fd0389eb2d82c0654be61c (diff)
downloadsamba-ddda97dc146179a035485219bca6af2338b360e9.tar.gz
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 <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit bf55a0117d045e8ca888f7e01591cc2a2bce9223)
Diffstat (limited to 'ctdb')
-rw-r--r--ctdb/server/ctdb_recoverd.c5
1 files changed, 2 insertions, 3 deletions
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);
}