org.javagroups.protocols
Class FD_SHUN
org.javagroups.protocols.FD_SHUN
- All Implemented Interfaces:
- java.lang.Runnable
- public class FD_SHUN
- implements java.lang.Runnable
Failure detection based on simple heartbeat protocol. Regularly polls members for
liveness. Passes SUSPECT message up the stack when a member is not reachable. The simple
algorithms works as follows: the membership is known and ordered. Each HB protocol
periodically sends a 'are-you-alive' message to its *neighbor*. A neighbor is the next in
rank in the membership list. It is recomputed upon a view change. When a response hasn't
been received for n milliseconds and m tries, the corresponding member is suspected (and
eventually excluded if faulty).
FD_SHUN starts when it detects (in a view change notification) that there are at least
2 members in the group. It stops running when the membership drops below 2.
When a message is received from the monitored neighbor member, it causes the pinger thread to
'skip' sending the next are-you-alive message. Thus, traffic is reduced.
When we receive a ping from a member that's not in the membership list, we shun it by sending it a
NOT_MEMBER message. That member will then leave the group (and possibly rejoin).
Method Summary |
void |
down(org.javagroups.protocols.Event evt)
|
java.lang.String |
getName()
|
void |
run()
|
boolean |
setProperties(java.util.Properties props)
|
void |
up(org.javagroups.protocols.Event evt)
|
FD_SHUN
public FD_SHUN()
getName
public java.lang.String getName()
setProperties
public boolean setProperties(java.util.Properties props)
up
public void up(org.javagroups.protocols.Event evt)
down
public void down(org.javagroups.protocols.Event evt)
run
public void run()
- Specified by:
run
in interface java.lang.Runnable
Copyright © 2001,2002 www.javagroups.com . All Rights Reserved.