From 32215e788955acd7845d3839ba1f78e137ca0dfb Mon Sep 17 00:00:00 2001 From: Madelyn Olson <34459052+madolson@users.noreply.github.com> Date: Wed, 17 Nov 2021 21:28:13 -0800 Subject: Unpause clients earlier during manual cluster failover (#9676) Unpause clients after manual failover ends instead of the timed offset --- src/cluster.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/cluster.c') diff --git a/src/cluster.c b/src/cluster.c index 154d23220..a71967173 100644 --- a/src/cluster.c +++ b/src/cluster.c @@ -3536,8 +3536,10 @@ void clusterHandleSlaveMigration(int max_slaves) { * The function can be used both to initialize the manual failover state at * startup or to abort a manual failover in progress. */ void resetManualFailover(void) { - if (server.cluster->mf_end) { - checkClientPauseTimeoutAndReturnIfPaused(); + if (server.cluster->mf_slave) { + /* We were a master failing over, so we paused clients. Regardless + * of the outcome we unpause now to allow traffic again. */ + unpauseClients(); } server.cluster->mf_end = 0; /* No manual failover in progress. */ server.cluster->mf_can_start = 0; -- cgit v1.2.1