summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2014-09-17 11:44:17 +0100
committerSimon MacMullen <simon@rabbitmq.com>2014-09-17 11:44:17 +0100
commite17ed03d0db94e75d171384b3124b8af1198f6ba (patch)
tree0f7dc4b1a4d33e87e879a614b729cb7ecf08e4ee /src
parent01cf202e04f9c773d60c91e850dbec42447e5caf (diff)
downloadrabbitmq-server-git-e17ed03d0db94e75d171384b3124b8af1198f6ba.tar.gz
Pass the full queue to BQ:delete_crashed/1 since priority_queue will need it.
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_amqqueue.erl4
-rw-r--r--src/rabbit_backing_queue.erl2
-rw-r--r--src/rabbit_variable_queue.erl2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 66f04381ec..c4abfd9d61 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -610,9 +610,9 @@ delete(#amqqueue{ pid = QPid }, IfUnused, IfEmpty) ->
delete_crashed(#amqqueue{ pid = QPid } = Q) ->
ok = rpc:call(node(QPid), ?MODULE, delete_crashed_internal, [Q]).
-delete_crashed_internal(#amqqueue{ name = QName }) ->
+delete_crashed_internal(Q = #amqqueue{ name = QName }) ->
{ok, BQ} = application:get_env(rabbit, backing_queue_module),
- BQ:delete_crashed(QName),
+ BQ:delete_crashed(Q),
ok = internal_delete(QName).
purge(#amqqueue{ pid = QPid }) -> delegate:call(QPid, purge).
diff --git a/src/rabbit_backing_queue.erl b/src/rabbit_backing_queue.erl
index 310b82207d..b4bdb0af7b 100644
--- a/src/rabbit_backing_queue.erl
+++ b/src/rabbit_backing_queue.erl
@@ -87,7 +87,7 @@
%% Called to clean up after a crashed queue. In this case we don't
%% have a process and thus a state(), we are just removing on-disk data.
--callback delete_crashed(rabbit_amqqueue:name()) -> 'ok'.
+-callback delete_crashed(rabbit_types:amqqueue()) -> 'ok'.
%% Remove all 'fetchable' messages from the queue, i.e. all messages
%% except those that have been fetched already and are pending acks.
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index e858fb3d85..03ba281951 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -511,7 +511,7 @@ delete_and_terminate(_Reason, State) ->
a(State2 #vqstate { index_state = IndexState1,
msg_store_clients = undefined }).
-delete_crashed(QName) ->
+delete_crashed(#amqqueue{name = QName}) ->
ok = rabbit_queue_index:erase(QName).
purge(State = #vqstate { q4 = Q4,