diff options
| author | Matthias Radestock <matthias@lshift.net> | 2010-05-19 09:05:03 +0100 |
|---|---|---|
| committer | Matthias Radestock <matthias@lshift.net> | 2010-05-19 09:05:03 +0100 |
| commit | 9f7f4449be747d9bab8c94172567fecbec83b53b (patch) | |
| tree | bc91ddff0034115a0b500f00ee4766b1b2c7b9c2 | |
| parent | 697235703495a36b596ea2ef91d44bb1f4f6b7ca (diff) | |
| download | rabbitmq-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.erl | 2 |
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}) -> |
