summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Watson <tim@rabbitmq.com>2014-02-05 16:57:55 +0000
committerTim Watson <tim@rabbitmq.com>2014-02-05 16:57:55 +0000
commitb41f0d60f8827383ab908089f9956fb5be1beb45 (patch)
tree698d190768f145d27856629ffc1773e676704444
parent5c3d6d8a3d6c010d8278d836d0eb391d07b9d8aa (diff)
downloadrabbitmq-server-b41f0d60f8827383ab908089f9956fb5be1beb45.tar.gz
Use dirty opts to find durable queues during startup (and optimise)
-rw-r--r--src/rabbit_amqqueue.erl7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 411ae502..a6793f94 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -221,14 +221,13 @@ start(Qs) ->
find_durable_queues() ->
Node = node(),
- %% TODO: use dirty ops instead
- rabbit_misc:execute_mnesia_transaction(
+ mnesia:async_dirty(
fun () ->
qlc:e(qlc:q([Q || Q = #amqqueue{name = Name,
pid = Pid}
<- mnesia:table(rabbit_durable_queue),
- mnesia:read(rabbit_queue, Name, read) =:= [],
- node(Pid) == Node]))
+ node(Pid) == Node,
+ mnesia:read(rabbit_queue, Name, read) =:= []]))
end).
recover_durable_queues(QueuesAndRecoveryTerms) ->