diff options
| -rw-r--r-- | src/rabbit_queue_index.erl | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl index 322c0f8a27..08c81a9480 100644 --- a/src/rabbit_queue_index.erl +++ b/src/rabbit_queue_index.erl @@ -471,11 +471,14 @@ recover_segment(ContainsCheckFun, CleanShutdown, {SegEntries1, UnackedCountDelta} = segment_plus_journal(SegEntries, JEntries), array:sparse_foldl( - fun (RelSeq, {{MsgId, MsgProps, _IsPersistent}, Del, no_ack}, + fun (RelSeq, {{MsgId, MsgProps, IsPersistent}, Del, no_ack}, {SegmentAndDirtyCount, Bytes}) -> {recover_message(ContainsCheckFun(MsgId), CleanShutdown, Del, RelSeq, SegmentAndDirtyCount), - Bytes + MsgProps#message_properties.size} + Bytes + case IsPersistent of + true -> MsgProps#message_properties.size; + false -> 0 + end} end, {{Segment #segment { unacked = UnackedCount + UnackedCountDelta }, 0}, 0}, SegEntries1). |
