summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2014-12-03 17:38:49 +0000
committerSimon MacMullen <simon@rabbitmq.com>2014-12-03 17:38:49 +0000
commitda01d7b96dc5ea124b40b3b00987105318276b0c (patch)
treedc8287e5f6ef7826edcf2eb54a7950603af56900 /src
parenta3585cc54306096fabd7081d6ee714beafffdf85 (diff)
downloadrabbitmq-server-git-da01d7b96dc5ea124b40b3b00987105318276b0c.tar.gz
Fix dirty recovery.
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_variable_queue.erl6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index d63378eb97..c703d3b934 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -455,7 +455,11 @@ init(#amqqueue { name = QueueName, durable = IsDurable }, Terms,
case IsDurable of
true -> C = msg_store_client_init(?PERSISTENT_MSG_STORE, PRef,
MsgOnDiskFun, AsyncCallback),
- {C, fun (MId) -> rabbit_msg_store:contains(MId, C) end};
+ {C, fun (MsgId) when is_binary(MsgId) ->
+ rabbit_msg_store:contains(MsgId, C);
+ (#basic_message{}) ->
+ true
+ end};
false -> {undefined, fun(_MsgId) -> false end}
end,
TransientClient = msg_store_client_init(?TRANSIENT_MSG_STORE,