diff options
| author | Francesco Mazzoli <francesco@rabbitmq.com> | 2012-07-09 19:50:35 +0100 |
|---|---|---|
| committer | Francesco Mazzoli <francesco@rabbitmq.com> | 2012-07-09 19:50:35 +0100 |
| commit | d5d5d6231ce2497195a9374ee09aa044acf650f7 (patch) | |
| tree | 2ad24e5c4b9c00090248448e3c7f0f37f50921c4 /src | |
| parent | 39d6801677076389f6178558a0e6c068f97d7caf (diff) | |
| download | rabbitmq-server-git-d5d5d6231ce2497195a9374ee09aa044acf650f7.tar.gz | |
do not update the cluster status file by getting the mnesia status
Instead, just update the existing cluster status file. This is because the
mnesia propagation time can be slower than the other messages (see other
comments in the bug)
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_node_monitor.erl | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/rabbit_node_monitor.erl b/src/rabbit_node_monitor.erl index f6cbee3494..849f5d3139 100644 --- a/src/rabbit_node_monitor.erl +++ b/src/rabbit_node_monitor.erl @@ -197,8 +197,7 @@ handle_cast({node_up, Node, IsDiscNode}, State) -> case is_already_monitored({rabbit, Node}) of true -> {noreply, State}; false -> rabbit_log:info("rabbit on node ~p up~n", [Node]), - {ok, {AllNodes, DiscNodes, RunningNodes}} = - rabbit_mnesia:cluster_status_from_mnesia(), + {AllNodes, DiscNodes, RunningNodes} = read_cluster_status_file(), write_cluster_status_file( {ordsets:add_element(Node, AllNodes), case IsDiscNode of @@ -211,8 +210,7 @@ handle_cast({node_up, Node, IsDiscNode}, State) -> {noreply, State} end; handle_cast({joined_cluster, Node, IsDiscNode}, State) -> - {ok, {AllNodes, DiscNodes, RunningNodes}} = - rabbit_mnesia:cluster_status_from_mnesia(), + {AllNodes, DiscNodes, RunningNodes} = read_cluster_status_file(), write_cluster_status_file({ordsets:add_element(Node, AllNodes), case IsDiscNode of true -> ordsets:add_element(Node, @@ -222,8 +220,7 @@ handle_cast({joined_cluster, Node, IsDiscNode}, State) -> RunningNodes}), {noreply, State}; handle_cast({left_cluster, Node}, State) -> - {ok, {AllNodes, DiscNodes, RunningNodes}} = - rabbit_mnesia:cluster_status_from_mnesia(), + {AllNodes, DiscNodes, RunningNodes} = read_cluster_status_file(), write_cluster_status_file({ordsets:del_element(Node, AllNodes), ordsets:del_element(Node, DiscNodes), ordsets:del_element(Node, RunningNodes)}), @@ -233,8 +230,7 @@ handle_cast(_Msg, State) -> handle_info({'DOWN', _MRef, process, {rabbit, Node}, _Reason}, State) -> rabbit_log:info("rabbit on node ~p down~n", [Node]), - {ok, {AllNodes, DiscNodes, RunningNodes}} = - rabbit_mnesia:cluster_status_from_mnesia(), + {AllNodes, DiscNodes, RunningNodes} = read_cluster_status_file(), write_cluster_status_file({AllNodes, DiscNodes, ordsets:del_element(Node, RunningNodes)}), ok = handle_dead_rabbit(Node), |
