summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Klishin <mklishin@pivotal.io>2016-08-17 01:30:34 +0300
committerMichael Klishin <mklishin@pivotal.io>2016-08-17 01:30:34 +0300
commit9febe154c3f396cebee365543266bba3cb4b2c75 (patch)
tree796302d0d0c4b2d1a9c42e74614b4d3e73b2a2c7 /src
parente25e906d958b7cfdadda385da8ed865414fe8603 (diff)
downloadrabbitmq-server-git-9febe154c3f396cebee365543266bba3cb4b2c75.tar.gz
Combine map/2 and foldl/3
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_connection_tracking.erl25
1 files changed, 10 insertions, 15 deletions
diff --git a/src/rabbit_connection_tracking.erl b/src/rabbit_connection_tracking.erl
index 8220495a72..752bb885c5 100644
--- a/src/rabbit_connection_tracking.erl
+++ b/src/rabbit_connection_tracking.erl
@@ -243,12 +243,10 @@ is_over_connection_limit(VirtualHost) ->
-spec count_connections_in(rabbit_types:vhost()) -> non_neg_integer().
count_connections_in(VirtualHost) ->
- try
- Ns = lists:map(
- fun (Node) ->
+ lists:foldl(fun (Node, Acc) ->
Tab = tracked_connection_per_vhost_table_name_for(Node),
try
- case mnesia:transaction(
+ N = case mnesia:transaction(
fun() ->
case mnesia:dirty_read({Tab, VirtualHost}) of
[] -> 0;
@@ -257,18 +255,15 @@ count_connections_in(VirtualHost) ->
end) of
{atomic, Val} -> Val;
{aborted, _Reason} -> 0
- end
- catch _ -> 0
- end
- end, rabbit_mnesia:cluster_nodes(running)),
- lists:foldl(fun(X, Acc) -> Acc + X end, 0, Ns)
- catch
- _:Err ->
+ end,
+ Acc + N
+ catch _:Err ->
rabbit_log:error(
- "Failed to fetch number of connections in vhost ~p:~n~p~n",
- [VirtualHost, Err]),
- 0
- end.
+ "Failed to fetch number of connections in vhost ~p on node ~p:~n~p~n",
+ [VirtualHost, Err, Node]),
+ Acc
+ end
+ end, 0, rabbit_mnesia:cluster_nodes(running)).
%% Returns a #tracked_connection from connection_created
%% event details.