Package com.atlassian.beehive.db
Interface ClusterNodeHeartbeatService
- All Known Subinterfaces:
ClusterHeartbeatService
- All Known Implementing Classes:
AbstractClusterNodeHeartbeatService
,CrowdClusterNodeHeartbeatService
,NoOpClusterNodeHeartbeatService
public interface ClusterNodeHeartbeatService
Provides a heartbeat for nodes of a cluster and utility methods for finding out about the "liveness" of other nodes.
-
Method Summary
Modifier and TypeMethodDescriptionReturns all nodes that have sent a heartbeat within the default threshold time.findLiveNodes
(long threshold) Returns all nodes that have sent a heartbeat within the given threshold.getLastHeartbeatTime
(String nodeId) Returns the last time a heartbeat was sent by the given node.Returns the node ID for this node.boolean
isNodeLive
(String nodeId) Checks whether the given cluster node is considered "live".
-
Method Details
-
getNodeId
Returns the node ID for this node.- Returns:
- the node ID for this node.
-
isNodeLive
Checks whether the given cluster node is considered "live".Each live node will be writing a heartbeat on a set schedule (eg once a minute). A node is considered live if it has written a heartbeat within a reasonable tolerance level (eg 5 minutes).
The tolerance level needs to be large enough to avoid certain expected slow-downs in the system including GC pauses, or just general slowness in the JVM / scheduler / network / database of the remote node.
- Parameters:
nodeId
- the cluster node to check- Returns:
- true iff the given cluster node is still "live".
-
getLastHeartbeatTime
Returns the last time a heartbeat was sent by the given node.A
null
value indicates no heartbeats have ever been sent by the given node.- Parameters:
nodeId
- the node- Returns:
- the last time a heartbeat was sent by the given node.
-
findLiveNodes
Returns all nodes that have sent a heartbeat within the default threshold time.- Returns:
- all nodes that have sent a heartbeat within the default threshold time.
- See Also:
-
findLiveNodes
Returns all nodes that have sent a heartbeat within the given threshold.- Parameters:
threshold
- the threshold in milliseconds- Returns:
- all nodes that have sent a heartbeat within the given threshold.
- See Also:
-