Comment #8 on issue 1526 by jean.deruelle: Buddy replication not working with MSS Fault Tolerant Timers
http://code.google.com/p/mobicents/issues/detail?id=1526

We had an offline talk with Bark.
And since JBoss Cache doesn't offer any way of knowing on onViewChangedEvent or onBuddyGroupChangedEvent the buddies that were the backup nodes of the node that died.

So we devised the following solution :
store the back up nodes for each node retrieved through http://docs.jboss.org/jbosscache/3.1.0.CR1/apidocs/org/jboss/cache/buddyreplication/BuddyGroup.html#getBuddies()
in the cache itself in the following structure
BUDDIES_BACKUP_NODES/<node_address>/<list of back up nodes addresses>

on the onViewChangedEvent.
This will allow when the view changes to store the new topology. Then we starts the failover process, each node that will get notify will check if it has it's own address in the <list of back up nodes addresses> of the node that just died <node_address>, if it has then it will do the election process against the other nodes address present in <list of back up nodes addresses> and the node that will win the election will remove the <node_address> from the BUDDIES_BACKUP_NODES.


Reply via email to