[erlang-questions] Mnesia: strategy for auto-recovery from netsplit
Fri May 3 18:02:56 CEST 2013
The only solution seems to be https://github.com/uwiger/unsplit usage where you manually resolve any conflicts. Someone may already have integration with ejabberd that is available, but the problem of which side of the nodesplit to take should be error-prone, difficult, and sometimes impossible (depending on the data stored). I think it is simpler to just hookup ejabberd to postgres or mysql instead of the mnesia usage. There still remains mnesia usage internally, but I don't think the internal mnesia usage that doesn't go to postgres or mysql is distributed (would be good to check).
On 05/03/2013 08:32 AM, Daniel Dormont wrote:
> Hi Erlangers,
> I'm running ejabberd with a two-node cluster in my production environment. Today that system encountered a netsplit. It was properly recorded and logged. But I need to work on some way to automate a solution for this. I'm aware that the problem can't be solved in general, but there are two mitigating factors in my case:
> 1 - Almost all of my tables are RAM-only.
> 2 - None of the data are truly critical for me. That is, loss of some portion of the data isn't critical because my application can recover.
> So in this case, I just picked a node, restarted ejabberd on it, and all is well. But what I'd like to do is write some actual Erlang code that can subscribe to the Mnesia partitioned network event and do something about it. What are my options there?
> erlang-questions mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions