summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2011-07-22 16:18:58 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2011-07-22 16:18:58 +0100
commita9734f49465e034033b862175009c9a4c689d8ff (patch)
tree95b6b0f8f008a33a248ace30c85f9ff451ca948d /src
parent5646d8c3868a4caed4d1f73f1df413f7e4b67d2c (diff)
downloadrabbitmq-server-git-a9734f49465e034033b862175009c9a4c689d8ff.tar.gz
use mnesia:system_config(use_dir)
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_mnesia.erl2
-rw-r--r--src/rabbit_upgrade.erl12
2 files changed, 11 insertions, 3 deletions
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl
index f94db8af48..9d1fe42301 100644
--- a/src/rabbit_mnesia.erl
+++ b/src/rabbit_mnesia.erl
@@ -602,7 +602,7 @@ is_disc_node() ->
%% This is pretty ugly but we can't start Mnesia and ask it (will hang),
%% we can't look at the config file (may not include us even if we're a
%% disc node).
- filelib:is_regular(filename:join(dir(), "rabbit_durable_exchange.DCD")).
+ mnesia:system_info(use_dir).
should_be_disc_node(ClusterNodes) ->
ClusterNodes == [] orelse lists:member(node(), ClusterNodes).
diff --git a/src/rabbit_upgrade.erl b/src/rabbit_upgrade.erl
index e6b52c61e3..a6d04f7eaf 100644
--- a/src/rabbit_upgrade.erl
+++ b/src/rabbit_upgrade.erl
@@ -144,7 +144,7 @@ upgrade_mode(AllNodes) ->
case nodes_running(AllNodes) of
[] ->
AfterUs = rabbit_mnesia:read_previously_running_nodes(),
- case {rabbit_mnesia:is_disc_node(), AfterUs} of
+ case {is_disc_node(), AfterUs} of
{true, []} ->
primary;
{true, _} ->
@@ -212,7 +212,7 @@ force_tables() ->
secondary_upgrade(AllNodes) ->
%% must do this before we wipe out schema
- IsDiscNode = rabbit_mnesia:is_disc_node(),
+ IsDiscNode = is_disc_node(),
rabbit_misc:ensure_ok(mnesia:delete_schema([node()]),
cannot_delete_schema),
%% Note that we cluster with all nodes, rather than all disc nodes
@@ -276,6 +276,14 @@ lock_filename() -> lock_filename(dir()).
lock_filename(Dir) -> filename:join(Dir, ?LOCK_FILENAME).
backup_dir() -> dir() ++ "-upgrade-backup".
+is_disc_node() ->
+ %% This is pretty ugly but we can't start Mnesia and ask it (will
+ %% hang), we can't look at the config file (may not include us
+ %% even if we're a disc node). We also can't use
+ %% rabbit_mnesia:is_disc_node/0 because that will give false
+ %% postivies on Rabbit up to 2.5.1.
+ filelib:is_regular(filename:join(dir(), "rabbit_durable_exchange.DCD")).
+
%% NB: we cannot use rabbit_log here since it may not have been
%% started yet
info(Msg, Args) -> error_logger:info_msg(Msg, Args).