diff options
| author | Simon MacMullen <simon@rabbitmq.com> | 2010-11-18 16:22:59 +0000 |
|---|---|---|
| committer | Simon MacMullen <simon@rabbitmq.com> | 2010-11-18 16:22:59 +0000 |
| commit | 93b5e0e739c233d43bb447c04c96c1dac14f8b0d (patch) | |
| tree | 6c281feef11feec8a89e193a264ec78df88120ca | |
| parent | 67cce9fb792a2a802ef4a4ce598619805cfae38c (diff) | |
| download | rabbitmq-server-git-93b5e0e739c233d43bb447c04c96c1dac14f8b0d.tar.gz | |
Stop mnesia while taking the backup
| -rw-r--r-- | src/rabbit_mnesia.erl | 3 | ||||
| -rw-r--r-- | src/rabbit_upgrade.erl | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl index da81f884a0..e8547041da 100644 --- a/src/rabbit_mnesia.erl +++ b/src/rabbit_mnesia.erl @@ -34,7 +34,7 @@ -export([ensure_mnesia_dir/0, dir/0, status/0, init/0, is_db_empty/0, cluster/1, force_cluster/1, reset/0, force_reset/0, - is_clustered/0, empty_ram_only_tables/0]). + is_clustered/0, empty_ram_only_tables/0, wait_for_tables/0]). -export([table_names/0]). @@ -65,6 +65,7 @@ -spec(is_clustered/0 :: () -> boolean()). -spec(empty_ram_only_tables/0 :: () -> 'ok'). -spec(create_tables/0 :: () -> 'ok'). +-spec(wait_for_tables/0 :: () -> 'ok'). -endif. diff --git a/src/rabbit_upgrade.erl b/src/rabbit_upgrade.erl index 4b7b434211..83ab2595da 100644 --- a/src/rabbit_upgrade.erl +++ b/src/rabbit_upgrade.erl @@ -126,6 +126,7 @@ apply_upgrades(Upgrades) -> ok = file:close(Lock), BackupDir = dir() ++ "-upgrade-backup", info("Upgrades: ~w to apply~n", [length(Upgrades)]), + mnesia:stop(), case rabbit_misc:recursive_copy(dir(), BackupDir) of ok -> %% We need to make the backup after creating the lock file @@ -141,6 +142,8 @@ apply_upgrades(Upgrades) -> ok = file:delete(LockFile), exit({could_not_back_up_mnesia_dir, E}) end, + rabbit_misc:ensure_ok(mnesia:start(), cannot_start_mnesia), + rabbit_mnesia:wait_for_tables(), info("Upgrades: Mnesia dir backed up to ~p~n", [BackupDir]), [apply_upgrade(Upgrade) || Upgrade <- Upgrades], info("Upgrades: All upgrades applied successfully~n", []), |
