chadillac / ejabberd-easy_cluster

Make multi-master Ejabberd clustering possible, make it easy. Also ease the process of a slave Ejabberd node joining an existing cluster using a traditional master->slave configuration.
50 stars 20 forks source link

Inconsistent_database after a network split #2

Open joudinet opened 10 years ago

joudinet commented 10 years ago

I set up 3 master nodes as described in your blog. After configuring the first node (node1), I use your join_as_master method in both node2 and node3: easy_cluster:join_as_master('ejabberd@node1'). At first glance, it works perfectly. However, after a network split, the system didn't work properly. Restarting node2 in live mode, I saw the following error message: Mnesia(ejabberd@node2): * ERROR * mnesia_event got {inconsistent_database, starting_partitioned_network, ejabberd@node1}

I don' t know how to solve this problem and, more important, how to make sure the ejabberd cluster still works after a network split, without a manual intervention. Any idea?

chadillac commented 10 years ago

We currently run our cluster behind a load balancer on a vlan so netsplits aren't something I've come across. Multi-master might not work for this case where these net-splits might occur. I don't have the time to troubleshoot this, but you're welcome to fork away. There are some other issues I have seen creep up in the wild that I'm currently troubleshooting myself.

joudinet commented 10 years ago

Ok, I've read the new disclaimer, don't worry ;-) Anyway, I had a look at the unsplit framework and I think I can use it to solve the conflicts. As soon as I have something working, I let you know.

zhuoyikang commented 9 years ago

what is network split means ? div into two LAN ?