summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <mklishin@pivotal.io>2020-01-23 08:53:23 +0300
committerGitHub <noreply@github.com>2020-01-23 08:53:23 +0300
commita7289c9cf9549459deadcf2fc80e80cf6971e63a (patch)
tree51a86330eb0700816b3e2d39a07d641d775756a6
parente2048576006b487869203506c1a3599dd7eae608 (diff)
parent96830f0b84c6c6c29d4ac5013329b8725518a534 (diff)
downloadrabbitmq-server-git-a7289c9cf9549459deadcf2fc80e80cf6971e63a.tar.gz
Merge pull request #2218 from Gsantomaggio/rabbitmq_server_2214
Handle timeout error on the rebalance function
-rw-r--r--src/rabbit_quorum_queue.erl8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/rabbit_quorum_queue.erl b/src/rabbit_quorum_queue.erl
index 3d0d074e02..7e9974b27a 100644
--- a/src/rabbit_quorum_queue.erl
+++ b/src/rabbit_quorum_queue.erl
@@ -973,8 +973,12 @@ transfer_leadership(Q, Destination) ->
{RaName, _} = Pid = amqqueue:get_pid(Q),
case ra:transfer_leadership(Pid, {RaName, Destination}) of
ok ->
- {_, _, {_, NewNode}} = ra:members(Pid),
- {migrated, NewNode};
+ case ra:members(Pid) of
+ {_, _, {_, NewNode}} ->
+ {migrated, NewNode};
+ {timeout, _} ->
+ {not_migrated, ra_members_timeout}
+ end;
already_leader ->
{not_migrated, already_leader};
{error, Reason} ->