diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_maintenance.erl | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/rabbit_maintenance.erl b/src/rabbit_maintenance.erl index 817d65479d..6636998c61 100644 --- a/src/rabbit_maintenance.erl +++ b/src/rabbit_maintenance.erl @@ -43,6 +43,7 @@ %% API %% +-spec drain() -> ok. drain() -> rabbit_log:alert("This node is being put into maintenance (drain) mode"), mark_as_being_drained(), @@ -62,6 +63,7 @@ drain() -> ok. +-spec revive() -> ok. revive() -> rabbit_log:alert("This node is being revived from maintenance (drain) mode"), revive_local_quorum_queue_replicas(), @@ -233,17 +235,17 @@ revive_local_quorum_queue_replicas() -> Queues = rabbit_amqqueue:list_local_followers(), [begin Name = amqqueue:get_name(Q), - RaLeader = amqqueue:get_pid(Q), rabbit_log:debug("Will trigger a leader election for local quorum queue ~s", [rabbit_misc:rs(Name)]), %% start local QQ replica (Ra server) of this queue - RaLeader = amqqueue:get_pid(Q), - rabbit_log:debug("Will start Ra server ~p", [RaLeader]), - case ra:restart_server(RaLeader) of + {Prefix, _Node} = amqqueue:get_pid(Q), + RaServer = {Prefix, node()}, + rabbit_log:debug("Will start Ra server ~p", [RaServer]), + case ra:restart_server(RaServer) of ok -> - rabbit_log:debug("Successfully restarted Ra server ~p", [RaLeader]); + rabbit_log:debug("Successfully restarted Ra server ~p", [RaServer]); {error, {already_started, _Pid}} -> - rabbit_log:debug("Ra server ~p is already running", [RaLeader]); + rabbit_log:debug("Ra server ~p is already running", [RaServer]); {error, nodedown} -> rabbit_log:error("Failed to restart Ra server ~p: target node was reported as down") end |
