summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2011-10-17 19:31:49 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2011-10-17 19:31:49 +0100
commit8938793638abbbb0abc3c14f51d95dfa0931424c (patch)
treed8f873103606f84fb8d30bbb87be2ab59feb08e7
parent143e1a9ef130be85efa7407ec378adbc175ffdda (diff)
downloadrabbitmq-server-git-8938793638abbbb0abc3c14f51d95dfa0931424c.tar.gz
explain why client_update_flying phase 3 will always succeed
-rw-r--r--src/rabbit_msg_store.erl3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/rabbit_msg_store.erl b/src/rabbit_msg_store.erl
index c95cff1e27..167ab41c8c 100644
--- a/src/rabbit_msg_store.erl
+++ b/src/rabbit_msg_store.erl
@@ -618,6 +618,9 @@ client_update_flying(Diff, MsgId, #client_msstate { flying_ets = FlyingEts,
true -> ok;
false -> try ets:update_counter(FlyingEts, Key, {2, Diff})
catch error:badarg ->
+ %% this is guaranteed to succeed since the
+ %% server only removes and updates flying_ets
+ %% entries; it never inserts them
true = ets:insert_new(FlyingEts, {Key, Diff})
end,
ok