summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_mnesia.erl20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl
index feb9b2874b..c20ccf5a49 100644
--- a/src/rabbit_mnesia.erl
+++ b/src/rabbit_mnesia.erl
@@ -105,7 +105,8 @@
-spec(on_node_leave/1 :: (node()) -> 'ok').
%% Functions used in internal rpc calls
--spec(cluster_status_if_running/0 :: () -> {'ok', node_status()} | 'error').
+-spec(cluster_status_if_running/0 :: () -> {'ok', node_status()} |
+ {'error', 'node_not_running'}).
-spec(node_info/0 :: () -> {string(), string(),
({'ok', node_status()} | 'error')}).
-spec(remove_node_if_mnesia_running/1 :: (node()) -> 'ok' |
@@ -421,15 +422,19 @@ running_clustered_disc_nodes() ->
%% want online, "working" nodes only.
cluster_status_if_running() ->
case mnesia:system_info(is_running) of
- no -> error;
+ no -> {error, node_not_running};
yes -> {ok, {ordsets:from_list(mnesia:system_info(db_nodes)),
ordsets:from_list(mnesia:table_info(schema, disc_copies)),
ordsets:from_list(mnesia:system_info(running_db_nodes))}}
end.
+cluster_status() ->
+ {ok, Status} = cluster_status_if_running(),
+ Status.
+
node_info() ->
{erlang:system_info(otp_release), rabbit_misc:rabbit_version(),
- cluster_status_if_running()}.
+ cluster_status()}.
is_disc_node() -> mnesia:system_info(use_dir).
@@ -712,8 +717,7 @@ read_cluster_nodes_status() ->
%% To update the cluster status when mnesia is running.
update_cluster_nodes_status() ->
- {ok, Status} = cluster_status_if_running(),
- write_cluster_nodes_status(Status).
+ write_cluster_nodes_status(cluster_status()).
%%--------------------------------------------------------------------
%% Hooks for `rabbit_node_monitor'
@@ -776,9 +780,9 @@ discover_cluster(Node) ->
"You provided the current node as node to cluster with"}};
false ->
case rpc:call(Node, rabbit_mnesia, cluster_status_if_running, []) of
- {badrpc, _Reason} -> discover_cluster([]);
- error -> discover_cluster([]);
- {ok, Res} -> {ok, Res}
+ {badrpc, _Reason} -> discover_cluster([]);
+ {error, node_not_running} -> discover_cluster([]);
+ {ok, Res} -> {ok, Res}
end
end.