summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2010-05-05 14:55:05 +0100
committerMatthew Sackman <matthew@lshift.net>2010-05-05 14:55:05 +0100
commitb954950f973d80c5864187f53f8cf5093f8f1118 (patch)
tree9807575165ee3a43ac86144793a8c09e384a4270
parente4579eca831999fc66f0545f7d6af93aa182db19 (diff)
downloadrabbitmq-server-git-b954950f973d80c5864187f53f8cf5093f8f1118.tar.gz
%%%%
-rw-r--r--src/rabbit_msg_store.erl5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/rabbit_msg_store.erl b/src/rabbit_msg_store.erl
index 5e78544762..5c5cdb2d2a 100644
--- a/src/rabbit_msg_store.erl
+++ b/src/rabbit_msg_store.erl
@@ -456,7 +456,7 @@ client_read3(Server,
%% If we get a badarg here, then the GC has finished and
%% deleted our file. Try going around again. Otherwise,
%% just defer.
-
+ %%
%% badarg scenario: we lookup, msg_store locks, gc starts,
%% gc ends, we +1 readers, msg_store ets:deletes (and
%% unlocks the dest)
@@ -469,13 +469,12 @@ client_read3(Server,
%% start up now, and isn't running, so nothing will tell
%% us from now on to close the handle if it's already
%% open.
-
+ %%
%% Finally, we need to recheck that the msg is still at
%% the same place - it's possible an entire GC ran between
%% us doing the lookup and the +1 on the readers. (Same as
%% badarg scenario above, but we don't have a missing file
%% - we just have the /wrong/ file).
-
case index_lookup(Guid, CState) of
MsgLocation = #msg_location { file = File } ->
%% Still the same file.