diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2011-03-18 12:16:33 +0000 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2011-03-18 12:16:33 +0000 |
commit | 6aed5b3365bbc7249c6a72a3e674986bd396bb8f (patch) | |
tree | b71e0b77a25021d99819454d5bacedccc32b0c10 | |
parent | 3ae4322d27ee90b19d774418c43fd7e8a0b75ac4 (diff) | |
parent | b13bd327e6d58bfe4fdeb8f8c14f666f493fbe54 (diff) | |
download | rabbitmq-server-6aed5b3365bbc7249c6a72a3e674986bd396bb8f.tar.gz |
Merge heads
-rw-r--r-- | src/rabbit.erl | 3 | ||||
-rw-r--r-- | src/rabbit_mnesia.erl | 2 | ||||
-rw-r--r-- | src/rabbit_upgrade.erl | 36 |
3 files changed, 20 insertions, 21 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index b1d88a52..1361d0f4 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -204,7 +204,6 @@ start() -> end. stop() -> - ok = rabbit_mnesia:record_running_disc_nodes(), ok = rabbit_misc:stop_applications(?APPS). stop_and_halt() -> @@ -234,6 +233,7 @@ rotate_logs(BinarySuffix) -> start(normal, []) -> case erts_version_check() of ok -> + ok = rabbit_mnesia:delete_previously_running_disc_nodes(), {ok, SupPid} = rabbit_sup:start_link(), true = register(rabbit, self()), @@ -246,6 +246,7 @@ start(normal, []) -> end. stop(_State) -> + ok = rabbit_mnesia:record_running_disc_nodes(), terminated_ok = error_logger:delete_report_handler(rabbit_error_logger), ok = rabbit_alarm:stop(), ok = case rabbit_mnesia:is_clustered() of diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl index 867da779..4d3267a2 100644 --- a/src/rabbit_mnesia.erl +++ b/src/rabbit_mnesia.erl @@ -378,7 +378,7 @@ delete_cluster_nodes_config() -> end. running_nodes_filename() -> - dir() ++ "/nodes_running_at_shutdown". + filename:join(dir(), "nodes_running_at_shutdown"). record_running_disc_nodes() -> FileName = running_nodes_filename(), diff --git a/src/rabbit_upgrade.erl b/src/rabbit_upgrade.erl index 2c31e602..c061cd49 100644 --- a/src/rabbit_upgrade.erl +++ b/src/rabbit_upgrade.erl @@ -112,8 +112,7 @@ maybe_upgrade_mnesia() -> primary -> primary_upgrade(Upgrades, AllNodes); secondary -> secondary_upgrade(AllNodes) end - end, - ok = rabbit_mnesia:delete_previously_running_disc_nodes(). + end. upgrade_mode(AllNodes) -> case nodes_running(AllNodes) of @@ -140,24 +139,23 @@ upgrade_mode(AllNodes) -> []) end; [Another|_] -> - ClusterVersion = - case rpc:call(Another, rabbit_version, desired_for_scope, - [mnesia]) of - {badrpc, {'EXIT', {undef, _}}} -> unknown_old_version; - {badrpc, Reason} -> {unknown, Reason}; - V -> V - end, MyVersion = rabbit_version:desired_for_scope(mnesia), - case rabbit_version:'=~='(ClusterVersion, MyVersion) of - true -> - %% The other node(s) have upgraded already, I am not the - %% upgrader - secondary; - false -> - %% The other node(s) are running an unexpected version. - die("Cluster upgrade needed but other nodes are " - "running ~p~nand I want ~p", - [ClusterVersion, MyVersion]) + ErrFun = fun (ClusterVersion) -> + %% The other node(s) are running an + %% unexpected version. + die("Cluster upgrade needed but other nodes are " + "running ~p~nand I want ~p", + [ClusterVersion, MyVersion]) + end, + case rpc:call(Another, rabbit_version, desired_for_scope, + [mnesia]) of + {badrpc, {'EXIT', {undef, _}}} -> ErrFun(unknown_old_version); + {badrpc, Reason} -> ErrFun({unknown, Reason}); + CV -> case rabbit_version:'=~='( + MyVersion, CV) of + true -> secondary; + false -> ErrFun(CV) + end end end. |