diff options
| author | Francesco Mazzoli <francesco@rabbitmq.com> | 2012-06-27 11:55:46 +0100 |
|---|---|---|
| committer | Francesco Mazzoli <francesco@rabbitmq.com> | 2012-06-27 11:55:46 +0100 |
| commit | 25372b6ff24fd32a9f66b8a1f91e114049628e6c (patch) | |
| tree | 95bd7b6a9b2a1e9386bd344bd27899c8fecb9375 /src | |
| parent | a77becc83e0f9265b1f2d8ef2d3eb04dfc93c879 (diff) | |
| download | rabbitmq-server-git-25372b6ff24fd32a9f66b8a1f91e114049628e6c.tar.gz | |
change `rabbit_mnesia:cluster_status_if_running' slightly
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_mnesia.erl | 20 |
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. |
