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 | 684c55e36acc489030c1cb06489c69237f4363c4 (patch) | |
tree | 8f38b2b9b358808937193c221b084331898041c5 | |
parent | d8394776219dde818155f7359297ff3896d27b92 (diff) | |
download | rabbitmq-server-684c55e36acc489030c1cb06489c69237f4363c4.tar.gz |
HA optimisation: don't broadcast 'drop' when nothing has been dropped
-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 6a7a28f2..df733546 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 } }. |