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 /src | |
| 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.
Diffstat (limited to 'src')
| -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}) -> |
