Package org.apache.storm.nimbus
Class TimeOutWorkerHeartbeatsRecoveryStrategy
- java.lang.Object
-
- org.apache.storm.nimbus.TimeOutWorkerHeartbeatsRecoveryStrategy
-
- All Implemented Interfaces:
IWorkerHeartbeatsRecoveryStrategy
public class TimeOutWorkerHeartbeatsRecoveryStrategy extends Object implements IWorkerHeartbeatsRecoveryStrategy
Wait for a node to report worker heartbeats until a configured timeout. For cases below we have strategies:1: When nimbus gains leader ship, it will decide if the heartbeats are ready based on the reported node ids, supervisors/nodes will take care of the worker heartbeats recovery, a reported node id means all the workers heartbeats on the node are reported.
2: If several supervisor also crush and will never recover[or all crush for some unknown reason], workers will report their heartbeats directly to master, so it has not any effect.
-
-
Constructor Summary
Constructors Constructor Description TimeOutWorkerHeartbeatsRecoveryStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isReady(Set<String> nodeIds)
Function to decide if the heartbeats is ready.void
prepare(Map conf)
Function to prepare the strategy.void
reportNodeId(String nodeId)
report the node id to this strategy to help to decideisReady
.
-
-
-
Method Detail
-
prepare
public void prepare(Map conf)
Description copied from interface:IWorkerHeartbeatsRecoveryStrategy
Function to prepare the strategy.- Specified by:
prepare
in interfaceIWorkerHeartbeatsRecoveryStrategy
- Parameters:
conf
- config
-
isReady
public boolean isReady(Set<String> nodeIds)
Description copied from interface:IWorkerHeartbeatsRecoveryStrategy
Function to decide if the heartbeats is ready.- Specified by:
isReady
in interfaceIWorkerHeartbeatsRecoveryStrategy
- Parameters:
nodeIds
- all the node ids from current physical plan[assignments], read fromClusterState
- Returns:
- true if all node worker heartbeats reported
-
reportNodeId
public void reportNodeId(String nodeId)
Description copied from interface:IWorkerHeartbeatsRecoveryStrategy
report the node id to this strategy to help to decideisReady
.- Specified by:
reportNodeId
in interfaceIWorkerHeartbeatsRecoveryStrategy
- Parameters:
nodeId
- the node id from reported SupervisorWorkerHeartbeats
-
-