summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Watson <watson.timothy@gmail.com>2014-01-14 17:28:10 +0000
committerTim Watson <watson.timothy@gmail.com>2014-01-14 17:28:10 +0000
commite4075435bb1f26e98697e0e20791525c95e04da9 (patch)
treec7ee79a6cdc70f9bcda21db162398c154b2333da
parentf58b9c95e1c707eb754abd9d468f7bc12de5275c (diff)
downloadrabbitmq-server-e4075435bb1f26e98697e0e20791525c95e04da9.tar.gz
Refactor: reduce the distance to default
-rw-r--r--src/rabbit_amqqueue.erl6
-rw-r--r--src/rabbit_queue_index.erl3
-rw-r--r--src/rabbit_variable_queue.erl24
3 files changed, 13 insertions, 20 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 24586b7c..55b98a0c 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -237,10 +237,8 @@ find_durable_queues() ->
recover_durable_queues(QueuesAndRecoveryTerms) ->
Qs = [{start_queue_process(node(), Q), Terms} ||
{Q, Terms} <- QueuesAndRecoveryTerms],
- [Q || {Q, Terms} <- Qs, queue_init(Q, Terms) == {new, Q}].
-
-queue_init(#amqqueue{ pid = Pid }, RecoveryTerms) ->
- gen_server2:call(Pid, {init, {self(), RecoveryTerms}}, infinity).
+ [Q || {Q = #amqqueue{ pid = Pid }, Terms} <- Qs,
+ gen_server2:call(Pid, {init, {self(), Terms}}, infinity) == {new, Q}].
declare(QueueName, Durable, AutoDelete, Args, Owner) ->
ok = check_declare_arguments(QueueName, Args),
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl
index 50cd79ea..e2ae4e00 100644
--- a/src/rabbit_queue_index.erl
+++ b/src/rabbit_queue_index.erl
@@ -393,8 +393,7 @@ all_queue_directory_names(Dir) ->
blank_state(QueueName) ->
blank_state_dir(
- filename:join(queues_dir(),
- queue_name_to_dir_name(QueueName))).
+ filename:join(queues_dir(), queue_name_to_dir_name(QueueName))).
blank_state_dir(Dir) ->
{ok, MaxJournal} =
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index 82326651..99035324 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -389,20 +389,16 @@
%%----------------------------------------------------------------------------
start(DurableQueues) ->
- {Terms, StartFunState} = rabbit_queue_index:recover(DurableQueues),
- start_msg_store(persistent_refs(Terms), StartFunState),
- {ok, Terms}.
-
-persistent_refs(Terms) -> lists:foldl(fun persistent_refs/2, [], Terms).
-
-persistent_refs(non_clean_shutdown, Acc) ->
- Acc;
-persistent_refs(Terms, Acc) ->
- Ref = proplists:get_value(persistent_ref, Terms),
- case Ref of
- undefined -> Acc;
- _ -> [Ref | Acc]
- end.
+ {AllTerms, StartFunState} = rabbit_queue_index:recover(DurableQueues),
+ start_msg_store(
+ [Ref || Terms <- AllTerms,
+ Terms /= non_clean_shutdown,
+ begin
+ Ref = proplists:get_value(persistent_ref, Terms),
+ Ref =/= undefined
+ end],
+ StartFunState),
+ {ok, AllTerms}.
stop() -> stop_msg_store().