diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2012-10-31 12:39:54 +0000 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2012-10-31 12:39:54 +0000 |
| commit | f8b41a777442309c24e8184d5ad07caab75a6e50 (patch) | |
| tree | 8f38b2b9b358808937193c221b084331898041c5 /src | |
| parent | 1c7557a22d5b354c4c2e8a2268536511d020e689 (diff) | |
| download | rabbitmq-server-git-f8b41a777442309c24e8184d5ad07caab75a6e50.tar.gz | |
HA optimisation: don't broadcast 'drop' when nothing has been dropped
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_mirror_queue_master.erl | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/rabbit_mirror_queue_master.erl b/src/rabbit_mirror_queue_master.erl index 6a7a28f291..df733546b4 100644 --- a/src/rabbit_mirror_queue_master.erl +++ b/src/rabbit_mirror_queue_master.erl @@ -229,7 +229,10 @@ dropwhile(Pred, AckRequired, {Next, Msgs, BQS1} = BQ:dropwhile(Pred, AckRequired, BQS), Len1 = BQ:len(BQS1), Dropped = Len - Len1, - ok = gm:broadcast(GM, {drop, Len1, Dropped, AckRequired}), + case Dropped of + 0 -> ok; + _ -> ok = gm:broadcast(GM, {drop, Len1, Dropped, AckRequired}) + end, SetDelivered1 = lists:max([0, SetDelivered - Dropped]), {Next, Msgs, State #state { backing_queue_state = BQS1, set_delivered = SetDelivered1 } }. |
