diff options
author | Holger Weiss <holger@zedat.fu-berlin.de> | 2014-06-12 11:00:22 +0200 |
---|---|---|
committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2014-06-12 11:00:22 +0200 |
commit | 1ef2dd45f38fa17b7df59d80faf6cf44dff9222e (patch) | |
tree | 06d605f091657f80b7d408b516a798da8aca24a6 /src | |
parent | Merge pull request #237 from weiss/log-config-path (diff) |
Check for Mnesia node name mismatches
Log a proper error message if the node running ejabberd doesn't own the
Mnesia database.
Diffstat (limited to 'src')
-rw-r--r-- | src/ejabberd_app.erl | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/ejabberd_app.erl b/src/ejabberd_app.erl index 8106b7b0d..6b0a85be8 100644 --- a/src/ejabberd_app.erl +++ b/src/ejabberd_app.erl @@ -107,6 +107,18 @@ loop() -> end. db_init() -> + MyNode = node(), + DbNodes = mnesia:system_info(db_nodes), + case lists:member(MyNode, DbNodes) of + true -> + ok; + false -> + ?CRITICAL_MSG("Node name mismatch: I'm [~s], " + "the database is owned by ~p", [MyNode, DbNodes]), + ?CRITICAL_MSG("Either set ERLANG_NODE in ejabberdctl.cfg " + "or change node name in Mnesia", []), + erlang:error(node_name_mismatch) + end, case mnesia:system_info(extra_db_nodes) of [] -> mnesia:create_schema([node()]); |