diff options
| author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-08-15 16:00:50 +0100 |
|---|---|---|
| committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-08-15 16:00:50 +0100 |
| commit | aa89617adf819aea261b4a3e8eeaade1e78c6e79 (patch) | |
| tree | e6628164e4fc4d08e6150e11a0caa502a1d10983 /src | |
| parent | 02228954e49afafdd8f4305d198ede89d8574130 (diff) | |
| download | rabbitmq-server-git-aa89617adf819aea261b4a3e8eeaade1e78c6e79.tar.gz | |
refactor
The sets thing is probably slower, but it isn't run that often.
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_mnesia.erl | 5 | ||||
| -rw-r--r-- | src/rabbit_node_monitor.erl | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl index 3f378c3cda..e33b3574b6 100644 --- a/src/rabbit_mnesia.erl +++ b/src/rabbit_mnesia.erl @@ -772,8 +772,9 @@ on_node_down(Node) -> end. is_only_disc_node(Node, _MnesiaRunning = true) -> - OfflineDiscNodes = nodes_of_type(disc_copies) -- running_clustered_nodes(), - [Node] =:= nodes_of_type(disc_copies) -- OfflineDiscNodes; + RunningSet = sets:from_list(running_clustered_nodes()), + DiscSet = sets:from_list(nodes_of_type(disc_copies)), + [Node] =:= sets:to_list(sets:intersection(RunningSet, DiscSet)); is_only_disc_node(Node, false) -> start_mnesia(), Res = is_only_disc_node(Node, true), diff --git a/src/rabbit_node_monitor.erl b/src/rabbit_node_monitor.erl index 98b9aa3750..cb4f826d8c 100644 --- a/src/rabbit_node_monitor.erl +++ b/src/rabbit_node_monitor.erl @@ -67,6 +67,7 @@ handle_call(_Request, _From, State) -> handle_cast({rabbit_running_on, Node}, State) -> rabbit_log:info("rabbit on ~p up~n", [Node]), + erlang:monitor(process, {rabbit, Node}), ok = handle_live_rabbit(Node), {noreply, State}; handle_cast(_Msg, State) -> @@ -97,6 +98,5 @@ handle_dead_rabbit(Node) -> ok = rabbit_mnesia:on_node_down(Node). handle_live_rabbit(Node) -> - erlang:monitor(process, {rabbit, Node}), ok = rabbit_alarm:on_node_up(Node), ok = rabbit_mnesia:on_node_up(Node). |
