summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2015-06-29 14:44:15 +0200
committerJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2015-06-29 14:44:15 +0200
commit3bb83ebe342a676236fe0f2748de96e3bfed8ed8 (patch)
tree0f6643b7dc6d385601f728e96f39578d3876ef7e /src
parente2d819164703728b9dd0bdee47d58d3589e44151 (diff)
parent1e4ca4672c397e95a5caf945b4d9492c3799cd80 (diff)
downloadrabbitmq-server-git-3bb83ebe342a676236fe0f2748de96e3bfed8ed8.tar.gz
Merge branch 'bug26427' into 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 fec8f3077b..6a9eafd9fc 100644
--- a/src/rabbit_reader.erl
+++ b/src/rabbit_reader.erl
@@ -196,7 +196,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).
@@ -345,6 +355,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} ->
@@ -359,7 +371,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.