summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_msg_store_vhost_sup.erl3
-rw-r--r--src/rabbit_variable_queue.erl7
2 files changed, 8 insertions, 2 deletions
diff --git a/src/rabbit_msg_store_vhost_sup.erl b/src/rabbit_msg_store_vhost_sup.erl
index d5ed915da4..0209e88cf7 100644
--- a/src/rabbit_msg_store_vhost_sup.erl
+++ b/src/rabbit_msg_store_vhost_sup.erl
@@ -8,7 +8,8 @@
%% Internal
-export([start_store_for_vhost/4]).
-start_link(Name, VhostsClientRefs, StartupFunState) ->
+start_link(Name, VhostsClientRefs, StartupFunState) when is_map(VhostsClientRefs);
+ VhostsClientRefs == undefined ->
supervisor2:start_link({local, Name}, ?MODULE,
[Name, VhostsClientRefs, StartupFunState]).
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index c0a2adbc67..111f263130 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -492,7 +492,7 @@ stop() ->
ok = stop_msg_store(),
ok = rabbit_queue_index:stop().
-start_msg_store(Refs, StartFunState) ->
+start_msg_store(Refs, StartFunState) when is_map(Refs); Refs == undefined ->
ok = rabbit_sup:start_child(?TRANSIENT_MSG_STORE_SUP, rabbit_msg_store_vhost_sup,
[?TRANSIENT_MSG_STORE_SUP,
undefined, {fun (ok) -> finished end, ok}]),
@@ -2745,6 +2745,11 @@ move_messages_to_vhost_store() ->
OldStore = run_old_persistent_store(RecoveryRefs, StartFunState),
%% New store should not be recovered.
NewStoreSup = start_new_store_sup(),
+ Vhosts = rabbit_vhost:list(),
+ lists:foreach(fun(VHost) ->
+ rabbit_msg_store_vhost_sup:add_vhost(NewStoreSup, VHost)
+ end,
+ Vhosts),
MigrationBatchSize = application:get_env(rabbit, queue_migration_batch_size,
?QUEUE_MIGRATION_BATCH_SIZE),
in_batches(MigrationBatchSize,