diff options
| author | Francesco Mazzoli <francesco@rabbitmq.com> | 2012-09-19 12:31:58 +0100 |
|---|---|---|
| committer | Francesco Mazzoli <francesco@rabbitmq.com> | 2012-09-19 12:31:58 +0100 |
| commit | 667cf37e691c148e18e0d7a4cf6cd361e459c2c1 (patch) | |
| tree | 9fd750c6c3b2d822bbd55adce696b3c9fdbfbac4 /src | |
| parent | 2e74276bffccb0156eadbcdf7d90b1bcdf95a432 (diff) | |
| download | rabbitmq-server-git-667cf37e691c148e18e0d7a4cf6cd361e459c2c1.tar.gz | |
ordsets, not lists, in `rabbit_node_monitor'
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_node_monitor.erl | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/rabbit_node_monitor.erl b/src/rabbit_node_monitor.erl index 846b2ac8c9..288f3e4210 100644 --- a/src/rabbit_node_monitor.erl +++ b/src/rabbit_node_monitor.erl @@ -93,10 +93,14 @@ prepare_cluster_status_files() -> {ok, _ } -> CorruptFiles(); {error, enoent} -> [] end, + ThisNode = [node()], + %% The running nodes file might contain a set or a list, in case of the + %% legacy file + RunningNodes2 = ordsets:from_list(ThisNode ++ RunningNodes1), {AllNodes1, WantDiscNode} = case try_read_file(cluster_status_filename()) of {ok, [{AllNodes, DiscNodes0}]} -> - {AllNodes, lists:member(node(), DiscNodes0)}; + {AllNodes, ordsets:is_element(node(), DiscNodes0)}; {ok, [AllNodes0]} when is_list(AllNodes0) -> {legacy_cluster_nodes(AllNodes0), legacy_should_be_disc_node(AllNodes0)}; @@ -105,16 +109,11 @@ prepare_cluster_status_files() -> {error, enoent} -> {legacy_cluster_nodes([]), true} end, - - ThisNode = [node()], - - RunningNodes2 = lists:usort(RunningNodes1 ++ ThisNode), - AllNodes2 = lists:usort(AllNodes1 ++ RunningNodes2), + AllNodes2 = ordsets:union(AllNodes1, RunningNodes2), DiscNodes = case WantDiscNode of true -> ThisNode; false -> [] end, - ok = write_cluster_status({AllNodes2, DiscNodes, RunningNodes2}). write_cluster_status({All, Disc, Running}) -> @@ -290,7 +289,7 @@ is_already_monitored(Item) -> legacy_cluster_nodes(Nodes) -> %% We get all the info that we can, including the nodes from mnesia, which %% will be there if the node is a disc node (empty list otherwise) - lists:usort(Nodes ++ mnesia:system_info(db_nodes)). + ordsets:from_list(Nodes ++ mnesia:system_info(db_nodes)). legacy_should_be_disc_node(DiscNodes) -> DiscNodes == [] orelse lists:member(node(), DiscNodes). |
