summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2015-06-29 14:44:59 +0200
committerJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2015-06-29 14:44:59 +0200
commitb9e39a8df9e22622ee582945c472521afea3f3aa (patch)
treec9fffd88631a6209e13b2ab4d65af676dde8ca08 /src
parent8bb7468784a0434921fb4424b4dfdd290a4c7a10 (diff)
parent3bb83ebe342a676236fe0f2748de96e3bfed8ed8 (diff)
downloadrabbitmq-server-git-b9e39a8df9e22622ee582945c472521afea3f3aa.tar.gz
Merge branch 'stable'
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_reader.erl16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl
index 866a9d6acd..757b467104 100644
--- a/src/rabbit_reader.erl
+++ b/src/rabbit_reader.erl
@@ -302,7 +302,17 @@ socket_error(Reason) when is_atom(Reason) ->
log(error, "Error on AMQP connection ~p: ~s~n",
[self(), rabbit_misc:format_inet_error(Reason)]);
socket_error(Reason) ->
- log(error, "Error on AMQP connection ~p:~n~p~n", [self(), Reason]).
+ Level =
+ case Reason of
+ {ssl_upgrade_error, closed} ->
+ %% The socket was closed while upgrading to SSL.
+ %% This is presumably a TCP healthcheck, so don't log
+ %% it unless specified otherwise.
+ debug;
+ _ ->
+ error
+ end,
+ log(Level, "Error on AMQP connection ~p:~n~p~n", [self(), Reason]).
inet_op(F) -> rabbit_misc:throw_on_error(inet_error, F).
@@ -451,6 +461,8 @@ mainloop(Deb, Buf, BufLen, State = #v1{sock = Sock,
State#v1{pending_recv = false});
closed when State#v1.connection_state =:= closed ->
ok;
+ closed when CS =:= pre_init andalso Buf =:= [] ->
+ stop(tcp_healthcheck, State);
closed ->
stop(closed, State);
{error, Reason} ->
@@ -465,7 +477,7 @@ mainloop(Deb, Buf, BufLen, State = #v1{sock = Sock,
end
end.
-stop(closed, #v1{connection_state = pre_init} = State) ->
+stop(tcp_healthcheck, State) ->
%% The connection was closed before any packet was received. It's
%% probably a load-balancer healthcheck: don't consider this a
%% failure.