mirror of
https://github.com/processone/ejabberd
synced 2025-10-06 03:50:15 +02:00
Fix problem starting ejabberd when first host uses SQL, other one mnesia
The problem appeared when there are several vhosts, the first vhost uses SQL for persistent data (and RAM for volatile), and another vhost wants to use Mnesia Example config to trigger the problem: hosts: - mysql.localhost - localhost host_config: mysql.localhost: default_db: sql In that case, ejabberd crashed at start with an error like: [critical] Internal error of module mod_muc has occurred during start: ... ** exception exit: {aborted, {no_exists, [muc_room, [{{muc_room,{'_',<<"conference.localhost">>},'_'}, [], ['$_']}]]}}
This commit is contained in:
parent
22e7ce37d4
commit
c291c20a3b
1 changed files with 4 additions and 0 deletions
|
@ -57,6 +57,10 @@ init(Host, Opts) ->
|
|||
transient, 5000, worker, [?MODULE]},
|
||||
case supervisor:start_child(ejabberd_backend_sup, Spec) of
|
||||
{ok, _Pid} -> ok;
|
||||
%% Maybe started for a vhost which only wanted mnesia for ram
|
||||
%% and this vhost wants mnesia for persitent storage too
|
||||
{error, {already_started, _Pid}} ->
|
||||
init([Host, Opts]);
|
||||
Err -> Err
|
||||
end.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue