diff options
| author | Matthew Sackman <matthew@lshift.net> | 2009-06-19 17:17:56 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2009-06-19 17:17:56 +0100 |
| commit | 6096fe52182b61165a5f36fe87c44730e645e2fa (patch) | |
| tree | 8e29fd515ba7c971e80b7f32306b106d9867f39a | |
| parent | 3fc57e1b7fdfb948e8470b0b63d7ebe1e9c91c25 (diff) | |
| download | rabbitmq-server-git-6096fe52182b61165a5f36fe87c44730e645e2fa.tar.gz | |
fixes
| -rw-r--r-- | src/rabbit_disk_queue.erl | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rabbit_disk_queue.erl b/src/rabbit_disk_queue.erl index a7d4e6e3ca..329b453a4d 100644 --- a/src/rabbit_disk_queue.erl +++ b/src/rabbit_disk_queue.erl @@ -759,7 +759,7 @@ internal_read_message(Q, ReadSeqId, FakeDeliver, ReadMsg, State) -> case ReadMsg of true -> case fetch_and_increment_cache(MsgId, State) of - false -> + not_found -> {FileHdl, State1} = get_read_handle(File, State), {ok, {MsgBody, BodySize}} = read_message_at_offset(FileHdl, Offset, TotalSize), @@ -808,11 +808,11 @@ remove_messages(Q, MsgSeqIds, MnesiaDelete, fun ({MsgId, SeqId}, Files1) -> [{MsgId, RefCount, File, Offset, TotalSize}] = dets_ets_lookup(State, MsgId), - ok = decrement_cache(MsgId, State), Files2 = case RefCount of 1 -> ok = dets_ets_delete(State, MsgId), + ok = remove_cache_entry(MsgId, State), [{File, ValidTotalSize, ContiguousTop, Left, Right}] = ets:lookup(FileSummary, File), ContiguousTop1 = @@ -826,6 +826,7 @@ remove_messages(Q, MsgSeqIds, MnesiaDelete, true -> sets:add_element(File, Files1) end; _ when 1 < RefCount -> + ok = decrement_cache(MsgId, State), ok = dets_ets_insert( State, {MsgId, RefCount - 1, File, Offset, TotalSize}), |
