summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2011-03-22 12:39:04 +0000
committerMatthew Sackman <matthew@rabbitmq.com>2011-03-22 12:39:04 +0000
commita6918e73ad3dbc7084ff571f9a4e0808a16574fe (patch)
tree60bc541ee2c18e4e40785916d70d8e79a275858d
parent6413bd76c15d871b502cd6489547c0b5b3019238 (diff)
downloadrabbitmq-server-git-a6918e73ad3dbc7084ff571f9a4e0808a16574fe.tar.gz
clarify documentation (thanks Emile)
-rw-r--r--src/rabbit_variable_queue.erl11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index 1b29756b32..14c36b12d6 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -150,10 +150,13 @@
%% responsive.
%%
%% In the queue we keep track of both messages that are pending
-%% delivery and messages that are pending acks. This ensures that
-%% purging (deleting the former) and deletion (deleting the former and
-%% the latter) are both cheap and do require any scanning through qi
-%% segments.
+%% delivery and messages that are pending acks. In the event of a
+%% queue purge, we only need to load qi segments if the queue has
+%% elements in deltas (i.e. it came under significant memory
+%% pressure). In the event of a queue deletion, in addition to the
+%% preceding, by keeping track of pending acks in RAM, we do not need
+%% to search through qi segments looking for messages that are yet to
+%% be acknowledged.
%%
%% Pending acks are recorded in memory either as the tuple {SeqId,
%% MsgId, MsgProps} (tuple-form) or as the message itself (message-