summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rabbit.erl5
-rw-r--r--src/rabbit_amqqueue.erl3
-rw-r--r--src/rabbit_queue_index.erl11
3 files changed, 7 insertions, 12 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index c9589a17a4..92db2e9e78 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -122,8 +122,9 @@
-rabbit_boot_step({message_store_queue_sup_queue_recovery,
[{description, "message store, queue supervisor and queue recovery"},
- {mfa, {rabbit_queue_index, start_msg_store, []}},
- {requires, exchange_recovery}]}).
+ {mfa, {rabbit_amqqueue, start, []}},
+ {requires, exchange_recovery},
+ {enables, routing_ready}]}).
-rabbit_boot_step({routing_ready,
[{description, "message delivery logic ready"}]}).
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 8466a137f1..394db4779e 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -132,11 +132,14 @@
%%----------------------------------------------------------------------------
start() ->
+ DurableQueues = rabbit_amqqueue:find_durable_queues(),
+ ok = rabbit_queue_index:start_msg_store(DurableQueues),
{ok,_} = supervisor:start_child(
rabbit_sup,
{rabbit_amqqueue_sup,
{rabbit_amqqueue_sup, start_link, []},
transient, infinity, supervisor, [rabbit_amqqueue_sup]}),
+ {ok, _RealDurableQueues} = rabbit_amqqueue:recover(DurableQueues),
ok.
recover(DurableQueues) ->
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl
index 73a8edb6c7..a16efb20c0 100644
--- a/src/rabbit_queue_index.erl
+++ b/src/rabbit_queue_index.erl
@@ -34,8 +34,7 @@
-export([init/1, terminate/1, terminate_and_erase/1, write_published/4,
write_delivered/2, write_acks/2, sync_seq_ids/2, flush_journal/1,
read_segment_entries/2, next_segment_boundary/1, segment_size/0,
- find_lowest_seq_id_seg_and_next_seq_id/1, start_msg_store/0,
- start_msg_store/1]).
+ find_lowest_seq_id_seg_and_next_seq_id/1, start_msg_store/1]).
-define(CLEAN_FILENAME, "clean.dot").
@@ -208,7 +207,6 @@
-spec(segment_size/0 :: () -> non_neg_integer()).
-spec(find_lowest_seq_id_seg_and_next_seq_id/1 :: (qistate()) ->
{non_neg_integer(), non_neg_integer(), qistate()}).
--spec(start_msg_store/0 :: () -> 'ok').
-spec(start_msg_store/1 :: ([amqqueue()]) -> 'ok').
-endif.
@@ -381,13 +379,6 @@ find_lowest_seq_id_seg_and_next_seq_id(State) ->
end,
{LowSeqIdSeg, NextSeqId, State}.
-start_msg_store() ->
- DurableQueues = rabbit_amqqueue:find_durable_queues(),
- ok = start_msg_store(DurableQueues),
- ok = rabbit_amqqueue:start(),
- {ok, _RealDurableQueues} = rabbit_amqqueue:recover(DurableQueues),
- ok.
-
start_msg_store(DurableQueues) ->
DurableDict =
dict:from_list([ {queue_name_to_dir_name(Queue #amqqueue.name),