]> granicus.if.org Git - ejabberd/commitdiff
Get nodes from ejabberd_cluster instead of mnesia
authorChristophe Romain <christophe.romain@process-one.net>
Tue, 3 Jan 2017 16:21:02 +0000 (17:21 +0100)
committerChristophe Romain <christophe.romain@process-one.net>
Tue, 3 Jan 2017 16:21:02 +0000 (17:21 +0100)
src/ejabberd_cluster.erl
src/ejabberd_web_admin.erl

index 556d16d85d5b2f950a25dfdcee8164ecc75b3c80..17e21af94ac04b92b16b9f7d223983ae4a342db1 100644 (file)
@@ -27,7 +27,7 @@
 
 %% API
 -export([get_nodes/0, call/4, multicall/3, multicall/4]).
--export([join/1, leave/1]).
+-export([join/1, leave/1, get_known_nodes/0]).
 
 -include("ejabberd.hrl").
 -include("logger.hrl").
 get_nodes() ->
     mnesia:system_info(running_db_nodes).
 
+-spec get_known_nodes() -> [node()].
+
+get_known_nodes() ->
+    lists:usort(mnesia:system_info(db_nodes)
+               ++ mnesia:system_info(extra_db_nodes)).
+
 -spec call(node(), module(), atom(), [any()]) -> any().
 
 call(Node, Module, Function, Args) ->
index 7697fbcdcf6a07810396b01ba556b4636db40c2f..e979d55db458c19c1674ebdfe446635698bcc84b 100644 (file)
@@ -1805,9 +1805,8 @@ histogram([], _Integral, _Current, Count, Hist) ->
 %%%% get_nodes
 
 get_nodes(Lang) ->
-    RunningNodes = mnesia:system_info(running_db_nodes),
-    StoppedNodes = lists:usort(mnesia:system_info(db_nodes)
-                                ++ mnesia:system_info(extra_db_nodes))
+    RunningNodes = ejabberd_cluster:get_nodes(),
+    StoppedNodes = ejabberd_clustet:get_known_nodes()
                     -- RunningNodes,
     FRN = if RunningNodes == [] -> ?CT(<<"None">>);
             true ->
@@ -1833,8 +1832,8 @@ get_nodes(Lang) ->
      ?XCT(<<"h3">>, <<"Stopped Nodes">>), FSN].
 
 search_running_node(SNode) ->
-    search_running_node(SNode,
-                       mnesia:system_info(running_db_nodes)).
+    RunningNodes = ejabberd_cluster:get_nodes(),
+    search_running_node(SNode, RunningNodes).
 
 search_running_node(_, []) -> false;
 search_running_node(SNode, [Node | Nodes]) ->