summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_msg_store.erl4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/rabbit_msg_store.erl b/src/rabbit_msg_store.erl
index de7a5fc4d6..82ecf676e4 100644
--- a/src/rabbit_msg_store.erl
+++ b/src/rabbit_msg_store.erl
@@ -1077,6 +1077,10 @@ remove_message(MsgId, CRef,
%% Remove eliminated the corresponding write.
true = ets:delete(FlyingWritesEts, {MsgId, CRef}),
true = 0 =< ets:update_counter(CurFileCacheEts, MsgId, {3, -1}),
+ %% If the msg has been removed, then it won't be followed
+ %% by a read, so it's safe to remove from the
+ %% cur_file_cache_ets.
+ true = ets:match_delete(CurFileCacheEts, {MsgId, '_', 0}),
State
end.