summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@lshift.net>2010-05-19 09:05:03 +0100
committerMatthias Radestock <matthias@lshift.net>2010-05-19 09:05:03 +0100
commit9f7f4449be747d9bab8c94172567fecbec83b53b (patch)
treebc91ddff0034115a0b500f00ee4766b1b2c7b9c2
parent697235703495a36b596ea2ef91d44bb1f4f6b7ca (diff)
downloadrabbitmq-server-git-9f7f4449be747d9bab8c94172567fecbec83b53b.tar.gz
keep complete pub/del/ack entries in journal on recovery
IF there is no entry for that message in the segment This is - more efficient, since there could be quite a few of these and we are avoiding an array update for them - more consistent with the other 'keep' cases - the same as would happen if the journal had been built up by queue operations rather than through recovery The entries are filtered out eventually when flushing the journal.
-rw-r--r--src/rabbit_queue_index.erl2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl
index ff2d3360ec..508177ec94 100644
--- a/src/rabbit_queue_index.erl
+++ b/src/rabbit_queue_index.erl
@@ -962,7 +962,7 @@ journal_minus_segment1({?PUB = Pub, del, no_ack}, {Pub, no_del, no_ack}) ->
%% Publish, deliver and ack in journal
journal_minus_segment1({?PUB, del, ack}, undefined) ->
- {undefined, 0, 0};
+ {keep, 0, 0};
journal_minus_segment1({?PUB = Pub, del, ack}, {Pub, no_del, no_ack}) ->
{{no_pub, del, ack}, 1, 0};
journal_minus_segment1({?PUB = Pub, del, ack}, {Pub, del, no_ack}) ->