diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit.erl | 5 | ||||
| -rw-r--r-- | src/rabbit_amqqueue.erl | 3 | ||||
| -rw-r--r-- | src/rabbit_queue_index.erl | 11 |
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), |
