summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Sebastien Pedron <jean-sebastien@rabbitmq.com>2014-11-28 10:13:19 +0100
committerJean-Sebastien Pedron <jean-sebastien@rabbitmq.com>2014-11-28 10:13:19 +0100
commitdf431fb74d5b96b187b7eedb4956f09c97ca50d9 (patch)
treea46525450618002d2c3fb3d5b429069f4e8cee7f
parentbecc3d30b4ac6e15ef15ade129a6eba8b3f3392a (diff)
downloadrabbitmq-server-git-df431fb74d5b96b187b7eedb4956f09c97ca50d9.tar.gz
Indicate if no data was received in the "closing AMQP connection" log message
This allows the user to distinguish between a normal RabbitMQ client and a load balancer healthcheck or misbehaving client.
-rw-r--r--src/rabbit_reader.erl16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl
index e96a911cd1..c47d4ec762 100644
--- a/src/rabbit_reader.erl
+++ b/src/rabbit_reader.erl
@@ -259,11 +259,15 @@ start_connection(Parent, HelperSup, Deb, Sock, SockTransform) ->
handshake, 8)]}),
log(info, "closing AMQP connection ~p (~s)~n", [self(), Name])
catch
- Ex -> log(case Ex of
- connection_closed_abruptly -> warning;
- _ -> error
- end, "closing AMQP connection ~p (~s):~n~p~n",
- [self(), Name, Ex])
+ connection_closed_with_no_data_received ->
+ log(info, "closing AMQP connection ~p (~s) - "
+ "no data received~n", [self(), Name]);
+ Ex ->
+ log(case Ex of
+ connection_closed_abruptly -> warning;
+ _ -> error
+ end, "closing AMQP connection ~p (~s):~n~p~n",
+ [self(), Name, Ex])
after
%% We don't call gen_tcp:close/1 here since it waits for
%% pending output to be sent, which results in unnecessary
@@ -339,7 +343,7 @@ stop(closed, #v1{connection_state = pre_init} = State) ->
%% probably a load-balancer healthcheck: don't consider this a
%% failure.
maybe_emit_stats(State),
- ok;
+ throw(connection_closed_with_no_data_received);
stop(closed, State) ->
maybe_emit_stats(State),
throw({connection_closed_abruptly, State});