summaryrefslogtreecommitdiff
path: root/ctdb
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2022-01-23 05:49:18 +1100
committerJule Anger <janger@samba.org>2022-02-15 09:01:14 +0000
commit758e953ee07343e1e3fd0389eb2d82c0654be61c (patch)
tree5cf032db3c5b93c93651921acbbb0455bbc22f74 /ctdb
parent07540a8cf4597f683e6661cc4418b858f59d7312 (diff)
downloadsamba-758e953ee07343e1e3fd0389eb2d82c0654be61c.tar.gz
ctdb-recoverd: Consistently have caller set election-in-progress
The problem here is that election-in-progress must be set to potentially avoid restarting the election broadcast timeout in main_loop(), so this is already done by leader_handler(). Have force_election() set election-in-progress for all election types and do not bother setting it in cluster_lock_election(). 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 9b3fab052bd2dccf2fc3fe9bd2b4354dff0b9ebb)
Diffstat (limited to 'ctdb')
-rw-r--r--ctdb/server/ctdb_recoverd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ctdb/server/ctdb_recoverd.c b/ctdb/server/ctdb_recoverd.c
index 7a13339bf37..a28a287b5aa 100644
--- a/ctdb/server/ctdb_recoverd.c
+++ b/ctdb/server/ctdb_recoverd.c
@@ -1848,7 +1848,6 @@ static void cluster_lock_election(struct ctdb_recoverd *rec)
}
rec->leader = CTDB_UNKNOWN_PNN;
- rec->election_in_progress = true;
ok = cluster_lock_take(rec);
if (ok) {
@@ -1877,13 +1876,14 @@ static void force_election(struct ctdb_recoverd *rec)
return;
}
+ rec->election_in_progress = true;
+
if (cluster_lock_enabled(rec)) {
cluster_lock_election(rec);
return;
}
talloc_free(rec->election_timeout);
- rec->election_in_progress = true;
rec->election_timeout = tevent_add_timer(
ctdb->ev, ctdb,
fast_start ?