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 and Description |
|---|
TimeOutWorkerHeartbeatsRecoveryStrategy() |
| Modifier and Type | Method and 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 decide
isReady. |
public TimeOutWorkerHeartbeatsRecoveryStrategy()
public void prepare(Map conf)
IWorkerHeartbeatsRecoveryStrategyFunction to prepare the strategy.
prepare in interface IWorkerHeartbeatsRecoveryStrategyconf - configpublic boolean isReady(Set<String> nodeIds)
IWorkerHeartbeatsRecoveryStrategyFunction to decide if the heartbeats is ready.
isReady in interface IWorkerHeartbeatsRecoveryStrategynodeIds - all the node ids from current physical plan[assignments], read from ClusterStatepublic void reportNodeId(String nodeId)
IWorkerHeartbeatsRecoveryStrategyreport the node id to this strategy to help to decide isReady.
reportNodeId in interface IWorkerHeartbeatsRecoveryStrategynodeId - the node id from reported SupervisorWorkerHeartbeatsCopyright © 2021 The Apache Software Foundation. All rights reserved.