diff options
| author | Daniil Fedotov <dfedotov@pivotal.io> | 2016-12-21 17:54:54 +0000 |
|---|---|---|
| committer | Daniil Fedotov <dfedotov@pivotal.io> | 2016-12-21 17:58:42 +0000 |
| commit | 1403596717839c48f95903dc37058c2146878f9f (patch) | |
| tree | f7fe2741be7cecee2b5e57c77bbfc4922734e27c /src | |
| parent | e5557ad53c2d01c5534ad7626f2b447ad1c0aa9b (diff) | |
| download | rabbitmq-server-git-1403596717839c48f95903dc37058c2146878f9f.tar.gz | |
Force recover client references to be maps. Start empty message store for each vhost on migration.
Empty message stores should be started to avoid rebuilding indexes on actual startup.
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, |
