summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/rabbitmq-mnesia-update-needed4
-rw-r--r--src/rabbit_mnesia.erl11
2 files changed, 8 insertions, 7 deletions
diff --git a/scripts/rabbitmq-mnesia-update-needed b/scripts/rabbitmq-mnesia-update-needed
index dcc5b45306..af5d0ae14e 100755
--- a/scripts/rabbitmq-mnesia-update-needed
+++ b/scripts/rabbitmq-mnesia-update-needed
@@ -43,7 +43,7 @@ fi
exec erl \
-pa "`dirname $0`/../ebin" \
-noshell \
- -eval 'rabbit_mnesia:update_needed()' \
+ -eval 'halt(case rabbit_mnesia:update_needed() of true -> 1; false -> 0 end).' \
-mnesia dir "\"${MNESIA_DIR}\"" \
-kernel error_logger '{file,"'/dev/null'"}' \
- ${CLUSTER_CONFIG} \
+ ${CLUSTER_CONFIG}
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl
index 140574b5db..91c8e47723 100644
--- a/src/rabbit_mnesia.erl
+++ b/src/rabbit_mnesia.erl
@@ -51,7 +51,7 @@
-spec(reset/0 :: () -> 'ok').
-spec(force_reset/0 :: () -> 'ok').
-spec(create_tables/0 :: () -> 'ok').
--spec(update_needed/0 :: () -> 'halt').
+-spec(update_needed/0 :: () -> bool()).
-endif.
@@ -102,12 +102,13 @@ update_needed() ->
ok = ensure_mnesia_running(),
ok = ensure_mnesia_dir(),
ok = init_db(read_cluster_nodes_config()),
- try ensure_schema_integrity()
+ try
+ ensure_schema_integrity(),
+ false
catch
{error, {schema_integrity_check_failed, _Reason}} ->
- halt(1)
- end,
- halt().
+ true
+ end.
%%--------------------------------------------------------------------