We are assuming that with minBuddies = 1 the clusters would select buddies like this -
A -> B -> C -> A
Yes thats correct ( "->" means "holds backup of").
How soon will the session replicate in case one server goes down (failover) with buddy replication ?
As soon as failure detection in JGroups finds out that one of the nodes is down, the cluster membership change will trigger moving around the data/backups. Note that this is quite demanding operation as lots of backup data will be moving around. Also the window for another server to go down and lose sessions whatsover is quite long.
Also we are using mod_jk, how does mod_jk figure out which jboss instance in the cluster was the buddy and forwards request to the correct buddy in case of failover ?
Good question! So obviously mod_jk does not know that. It will try the node (because of stickysessions) and then figure out the node is down as it wont connect to it. Then it will send to any of the nodes. So what happens at this node is that the server will do data gravitation and ask ALL servers whether they have this session or not. If the session is found, it will take it and use it.
Thanks for the reply.
We rolling restart our clusters(shutdown A and as soon as it is down shutdown B, and so on) on each deploy which happens every week (sometimes multiple times a week).
I was wondering if that would cause a problem (network storm) with buddy replication since you mentioned -
"cluster membership change will trigger moving around the data/backups"