diff options
| -rw-r--r-- | src/rabbit_node_monitor.erl | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/rabbit_node_monitor.erl b/src/rabbit_node_monitor.erl index 397032a4d2..b2d7bb601b 100644 --- a/src/rabbit_node_monitor.erl +++ b/src/rabbit_node_monitor.erl @@ -102,11 +102,12 @@ prepare_cluster_status_files() -> {ok, [{AllNodes, DiscNodes0}]} -> {AllNodes, lists:member(node(), DiscNodes0)}; {ok, [AllNodes0]} when is_list(AllNodes0) -> - {AllNodes0, legacy_should_be_disc_node(AllNodes0)}; + {legacy_cluster_nodes(AllNodes0), + legacy_should_be_disc_node(AllNodes0)}; {ok, _} -> CorruptFiles(); non_existant -> - {[], true} + {legacy_cluster_nodes([]), true} end, ThisNode = [node()], @@ -291,5 +292,10 @@ is_already_monitored(Item) -> (_) -> false end, Monitors). +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)). + legacy_should_be_disc_node(DiscNodes) -> DiscNodes == [] orelse lists:member(node(), DiscNodes). |
