diff options
| author | Michael Klishin <michael@novemberain.com> | 2016-07-28 17:17:33 +0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-07-28 17:17:33 +0400 |
| commit | f8a9643af5973ec51569cc122d128c68f6910411 (patch) | |
| tree | e7d5bcf25225a8cd1aa9b476d6bf9e4f87e850c9 | |
| parent | 0c316fc3b6c135236fb0a267b31595dc5762f9eb (diff) | |
| parent | 5bcf3bafa558ec361002e87c89b3f0b6b3a14069 (diff) | |
| download | rabbitmq-server-git-f8a9643af5973ec51569cc122d128c68f6910411.tar.gz | |
Merge pull request #894 from lemenkov/toctou_in_cluster_status
Don't die in case of faulty node
| -rw-r--r-- | src/rabbit_control_main.erl | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/rabbit_control_main.erl b/src/rabbit_control_main.erl index d2f0e8bcb0..ea9d6a2030 100644 --- a/src/rabbit_control_main.erl +++ b/src/rabbit_control_main.erl @@ -953,6 +953,9 @@ nodes_in_cluster(Node) -> unsafe_rpc(Node, rabbit_mnesia, cluster_nodes, [running]). alarms_by_node(Name) -> - Status = unsafe_rpc(Name, rabbit, status, []), - {_, As} = lists:keyfind(alarms, 1, Status), - {Name, As}. + case rpc_call(Name, rabbit, status, []) of + {badrpc,nodedown} -> {Name, [nodedown]}; + Status -> + {_, As} = lists:keyfind(alarms, 1, Status), + {Name, As} + end. |
