diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_msg_store_vhost_sup.erl | 3 | ||||
| -rw-r--r-- | src/rabbit_variable_queue.erl | 7 |
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, |
