diff options
author | Emile Joubert <emile@rabbitmq.com> | 2013-04-24 14:45:14 +0100 |
---|---|---|
committer | Emile Joubert <emile@rabbitmq.com> | 2013-04-24 14:45:14 +0100 |
commit | 7bfc8223b1d8403787c6081c7a8c9acd6eb2b989 (patch) | |
tree | 91c88c9b94ef27184c937504d8c5d3965c16f3db | |
parent | a8858534212a396b46bafaa3794ad877c58d0e97 (diff) | |
download | rabbitmq-server-bug25524.tar.gz |
Move the peer_down handling to sender_death, since that's when the slave reallybug25524
gives up on a sender.
Transplant of 55f7c6afabe0
-rw-r--r-- | src/rabbit_mirror_queue_slave.erl | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/rabbit_mirror_queue_slave.erl b/src/rabbit_mirror_queue_slave.erl index 222457c6..17337d9a 100644 --- a/src/rabbit_mirror_queue_slave.erl +++ b/src/rabbit_mirror_queue_slave.erl @@ -595,8 +595,7 @@ ensure_monitoring(ChPid, State = #state { known_senders = KS }) -> local_sender_death(ChPid, State = #state { known_senders = KS }) -> ok = case pmon:is_monitored(ChPid, KS) of false -> ok; - true -> credit_flow:peer_down(ChPid), - confirm_sender_death(ChPid) + true -> confirm_sender_death(ChPid) end, State. @@ -779,6 +778,7 @@ process_instruction({sender_death, ChPid}, lists:foldl(fun dict:erase/2, MS, sets:to_list(PendingCh)) end, + credit_flow:peer_down(ChPid), State #state { sender_queues = dict:erase(ChPid, SQ), msg_id_status = MS1, known_senders = pmon:demonitor(ChPid, KS) } |