diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2013-10-28 15:04:45 +0000 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2013-10-28 15:04:45 +0000 |
| commit | 7814f339a31050d0db92f2907f06979c08ed22cc (patch) | |
| tree | bd4990eef19ef07be9a73dff2ed5bf1e487ca2dd /src | |
| parent | 5ccfaebca6b8d93b556d921b73d0dfe103fba085 (diff) | |
| download | rabbitmq-server-git-7814f339a31050d0db92f2907f06979c08ed22cc.tar.gz | |
We can get down_from_gm twice in a row, don't blow up if we do.
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_mirror_queue_slave.erl | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/rabbit_mirror_queue_slave.erl b/src/rabbit_mirror_queue_slave.erl index b1a8649344..331b643493 100644 --- a/src/rabbit_mirror_queue_slave.erl +++ b/src/rabbit_mirror_queue_slave.erl @@ -663,8 +663,13 @@ confirm_sender_death(Pid) -> ok. forget_sender(_, running) -> false; +forget_sender(down_from_gm, down_from_gm) -> false; %% [1] forget_sender(Down1, Down2) when Down1 =/= Down2 -> true. +%% [1] If another slave goes through confirm_sender_death/1 before we +%% do we can get two GM sender_death messages in a row for the same +%% channel - don't treeat that as anything special. + %% Record and process lifetime events from channels. Forget all about a channel %% only when down notifications are received from both the channel and from gm. maybe_forget_sender(ChPid, ChState, State = #state { sender_queues = SQ, |
