This test is for 3 nodes with 2 Artemis instances each, NOT colocated. There
are 3 live-backup pairs in this setup.
I'm adding iptable rules on my machine, to not let it communicate to other
machines to simulate a network split.

iptables -I INPUT -d <ip> -j DROP
iptables -I OUTPUT -d <ip> -j DROP

Machine 1 = Master1, Slave1
Machine 2 = Master2, Slave2
Machine 3 = Master3, Slave3

Backup of Master1 is Slave2. 
Backup of Master2 is Slave3.
Backup of Master3 is Slave1.

So, I don't know if this behavior is documented or not -

I'm adding iptable rules on Machine1 to drop Machine2. So, Machine1 and
Machine2 can't communicate with each other, but both can communicate with
Machine3. 
After I add the iptable rules, (my assumption is) Master1 reports to the
cluster that it can't communicate with Master2, and hence, Slave3 comes live
(probably because Master2 is removed from the cluster). So, Master1,
Master3, Slave3 become the live nodes of the cluster. Master2, and Slave2
are also listening, but they aren't part of the cluster.

This behavior is consistent across all cases, based on which machine you add
the iptable rules to. So, if I had done the same thing and added iptable
rules on Machine2 to block Machine1, then Machine1 would've been removed
from the cluster.

And, after I flush the iptable rules, the same configuration stays and the
original config (Master1 - Master2 - Master3) doesn't become live again.
Ideally, Slave3 should failback to Master2 as there is no Network split
anymore and both Machines can communicate with each other, but it won't work
unless I restart the brokers.





--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-User-f2341805.html

Reply via email to