[ejabberd] which mnesia tables to replicate in cluster?

Badlop badlop at gmail.com
Tue Nov 17 14:49:29 MSK 2009


2009/10/27 Jesse Thompson <jesse.thompson at doit.wisc.edu>:
> We have a 2-node ejabberd cluster.  We begin with both running, then we shut
> down the master node, and the slave node continues to serve traffic just
> fine.  However, when we restart the slave node (or if it crashes for some
> reason) while the master is down it does not start back up.
>
> I seem to remember this working with ejabberd 1.4 by only replicating the
> roster table (we don't use internal authentication, so we don't have a
> password table) however we seem to have misplaced our documentation. It
> looks like the table replication settings were reset when we upgraded to 2.x
> (2.0.5 current.)
>
> As an experiment, we have set up the slave node so that *every* mnesia table
> is 'RAM and disc copy'.  The slave node now starts up.  However, I don't
> think that it would necessarily be wise to run with this configuration in
> production.
>
> 2 questions:
>
> 1. Which tables specifically need to be replicated in order for a slave node
> to start without the master being available?

This may not answer your question, but the tables that I imagine an
ejabberd node needs to have access to (either as local copy, or
accessible in a running remote node) in order to work correctly are:
last_activity,
offline_msg,
passwd,
privacy
private_storage
roster,
vcard.


> 2. Is there any way to define the table replication settings in the
> configuration instead of doing this manually?

No, neither in ejabberd.cfg or in WebAdmin.
The closest thing is the page in WebAdmin -> Nodes -> your node -> Database.


---
Badlop
ProcessOne


More information about the ejabberd mailing list