Do we need both FD_SOCK and FD_ALL in JGroups UDP Configuration?

1.7k views Asked by At

We're looking at using JGroups and in trying to evaluate which configuration makes sense for our purposes, I notice that the standard udp.xml configuration (and its variations) have both FD_SOCK and FD_ALL specified. Are both really needed for a standard UDP-based cluster messaging configuration?

I would suspect that FD_SOCK gives you more immediate failure detection, but is that the only benefit? And assuming so, why would you want/need FD_ALL? (Is it that FD_SOCK will only let you know if your neighbor node is dead, but FD_ALL is for the whole cluster?)

Basically I'm just trying to understand the pros/cons of each to see if it makes sense to remove one of the protocols to keep things as simple as possible.

Thanks in advance! Scott

2

There are 2 answers

2
Bela Ban On

https://community.jboss.org/wiki/FDVersusFDSOCK. Replace FD with FD_ALL, as this is the same onceptually

0
Bela Ban On

You could use FD_SOCK only, but then you would detect crashed members only, but not hanging member (which don't close the TCP connection), crashed switches or pulled plugs. That's why the default config includes both protocols.