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 SummaryConstructors
- 
Method Summary
- 
Constructor Details- 
TimeOutWorkerHeartbeatsRecoveryStrategypublic TimeOutWorkerHeartbeatsRecoveryStrategy()
 
- 
- 
Method Details- 
prepareDescription copied from interface:IWorkerHeartbeatsRecoveryStrategyFunction to prepare the strategy.- Specified by:
- preparein interface- IWorkerHeartbeatsRecoveryStrategy
- Parameters:
- conf- config
 
- 
isReadyDescription copied from interface:IWorkerHeartbeatsRecoveryStrategyFunction to decide if the heartbeats is ready.- Specified by:
- isReadyin interface- IWorkerHeartbeatsRecoveryStrategy
- Parameters:
- nodeIds- all the node ids from current physical plan[assignments], read from- ClusterState
- Returns:
- true if all node worker heartbeats reported
 
- 
reportNodeIdDescription copied from interface:IWorkerHeartbeatsRecoveryStrategyreport the node id to this strategy to help to decideisReady.- Specified by:
- reportNodeIdin interface- IWorkerHeartbeatsRecoveryStrategy
- Parameters:
- nodeId- the node id from reported SupervisorWorkerHeartbeats
 
 
-