diff options
author | Matthew Sackman <matthew@rabbitmq.com> | 2013-11-28 16:51:15 +0000 |
---|---|---|
committer | Matthew Sackman <matthew@rabbitmq.com> | 2013-11-28 16:51:15 +0000 |
commit | 2f507c70d7d5c45690b9209864e36b750f7bd569 (patch) | |
tree | 31b62dffc235c5ffe79539ac3a9eac44c9ca14a1 | |
parent | 9f15b01d28c8109feb36302824c65490aa3045a6 (diff) | |
download | rabbitmq-server-2f507c70d7d5c45690b9209864e36b750f7bd569.tar.gz |
Introduce halt_on_upgrade_failure app env param and set it to true. Only throw an error instead of halting if it has been set to false.
-rw-r--r-- | ebin/rabbit_app.in | 1 | ||||
-rw-r--r-- | src/rabbit_upgrade.erl | 9 |
2 files changed, 8 insertions, 2 deletions
diff --git a/ebin/rabbit_app.in b/ebin/rabbit_app.in index a10bad45..f0fee96a 100644 --- a/ebin/rabbit_app.in +++ b/ebin/rabbit_app.in @@ -52,6 +52,7 @@ {nodelay, true}, {linger, {true, 0}}, {exit_on_close, false}]}, + {halt_on_upgrade_failure, true}, {hipe_compile, false}, %% see bug 24513 for how this list was created {hipe_modules, diff --git a/src/rabbit_upgrade.erl b/src/rabbit_upgrade.erl index 1047b823..44a1fe0d 100644 --- a/src/rabbit_upgrade.erl +++ b/src/rabbit_upgrade.erl @@ -191,9 +191,14 @@ die(Msg, Args) -> %% straight out into do_boot, generating an erl_crash.dump %% and displaying any error message in a confusing way. error_logger:error_msg(Msg, Args), - io:format("~n~n****~n~n" ++ Msg ++ "~n~n****~n~n~n", Args), + Str = rabbit_misc:format( + "~n~n****~n~n" ++ Msg ++ "~n~n****~n~n~n", Args), + io:format(Str), error_logger:logfile(close), - halt(1). + case application:get_env(rabbit, halt_on_upgrade_failure) of + false -> throw({upgrade_error, Str}); + _ -> halt(1) %% i.e. true or undefined + end. primary_upgrade(Upgrades, Nodes) -> Others = Nodes -- [node()], |