diff options
| author | Michael Klishin <michael@novemberain.com> | 2017-10-31 14:48:32 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-10-31 14:48:32 +0300 |
| commit | de5bc6ef8fe782a5bb1901bf44a68d889418bf9b (patch) | |
| tree | d802c60cfc6b31a595486f904e18aed5c1a16436 | |
| parent | b822e85b94278282ed014cfc61afc836df132108 (diff) | |
| parent | 533d2df5dd1fbce2eb2a32799f78b785e476bd08 (diff) | |
| download | rabbitmq-server-git-de5bc6ef8fe782a5bb1901bf44a68d889418bf9b.tar.gz | |
Merge pull request #1413 from rabbitmq/mk-dont-throw-when-connection-pid-is-non-localrabbitmq_v3_6_13_rc2rabbitmq_v3_6_13
Make rabbit_networking:close_connection/2 more benign
| -rw-r--r-- | src/rabbit_networking.erl | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl index 8b201fd87e..d64b8500b9 100644 --- a/src/rabbit_networking.erl +++ b/src/rabbit_networking.erl @@ -305,10 +305,16 @@ connection_info_all(Items, Ref, AggregatorPid) -> connections()). close_connection(Pid, Explanation) -> - rabbit_log:info("Closing connection ~p because ~p~n", [Pid, Explanation]), case lists:member(Pid, connections()) of - true -> rabbit_reader:shutdown(Pid, Explanation); - false -> throw({error, {not_a_connection_pid, Pid}}) + true -> + Res = rabbit_reader:shutdown(Pid, Explanation), + rabbit_log:info("Closing connection ~p because ~p~n", [Pid, Explanation]), + Res; + false -> + rabbit_log:warning("Asked to close connection ~p (reason: ~p) " + "but no running cluster node reported it as an active connection. Was it already closed? ~n", + [Pid, Explanation]), + ok end. force_connection_event_refresh(Ref) -> |
