From: Diana Corbacho Date: Tue, 26 Jan 2016 13:10:58 +0000 Subject: [PATCH] Unblock receive after 15s diff --git a/src/rabbit_mirror_queue_master.erl b/src/rabbit_mirror_queue_master.erl index 7890128..b7c2d9d 100644 --- a/src/rabbit_mirror_queue_master.erl +++ b/src/rabbit_mirror_queue_master.erl @@ -208,7 +208,15 @@ stop_all_slaves(Reason, #state{name = QName, gm = GM}) -> %% monitor them but they would not have received the GM %% message. So only wait for slaves which are still %% not-partitioned. - [receive {'DOWN', MRef, process, _Pid, _Info} -> ok end + [receive + {'DOWN', MRef, process, _Pid, _Info} -> + ok + after 15000 -> + rabbit_mirror_queue_misc:log_warning( + QName, "Missing 'DOWN' message from ~p in node ~p~n", + [Pid, node(Pid)]), + ok + end || {Pid, MRef} <- PidsMRefs, rabbit_mnesia:on_running_node(Pid)], %% Normally when we remove a slave another slave or master will %% notice and update Mnesia. But we just removed them all, and