aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_app.erl
diff options
context:
space:
mode:
authorEvgeny Khramtsov <xramtsov@gmail.com>2014-06-12 13:23:17 +0400
committerEvgeny Khramtsov <xramtsov@gmail.com>2014-06-12 13:23:17 +0400
commit31440a586c8556a9883f93aea511a61df63a2d1c (patch)
treea26a03bc6a81d544fdf022b496f5410ae8b46dcd /src/ejabberd_app.erl
parentChange default flow timeout as recommended per the RFC (diff)
parentCheck for Mnesia node name mismatches (diff)
Merge pull request #238 from weiss/log-node-mismatch
Check for Mnesia node name mismatches on startup
Diffstat (limited to 'src/ejabberd_app.erl')
-rw-r--r--src/ejabberd_app.erl12
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()]);