diff options
| -rw-r--r-- | src/rabbit_msg_store.erl | 4 |
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. |
