Class ClusterNodesCommandsExecutorImpl
java.lang.Object
com.atlassian.bamboo.cluster.peertopeer.ClusterNodesCommandsExecutorImpl
- All Implemented Interfaces:
ClusterNodesCommandsExecutor
public class ClusterNodesCommandsExecutorImpl
extends Object
implements ClusterNodesCommandsExecutor
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final class
-
Constructor Summary
ConstructorsModifierConstructorDescriptionClusterNodesCommandsExecutorImpl
(PeerToPeerClient peerToPeerClient, BambooClusterNodeHeartbeatService bambooClusterNodeHeartbeatService) protected
ClusterNodesCommandsExecutorImpl
(PeerToPeerClient peerToPeerClient, BambooClusterNodeHeartbeatService bambooClusterNodeHeartbeatService, ClusterNodesCommandsExecutorImpl.StatusReporter statusReporter) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Notifying all cluster nodes that the node the method is called on is reachable and visible to the cluster.protected long
getRemainingTime
(long startTime) getUnnotifiedNodes
(@NotNull List<String> allAskedNodeIds, @NotNull List<String> successfullyNotifiedNodes)
-
Constructor Details
-
ClusterNodesCommandsExecutorImpl
@Inject public ClusterNodesCommandsExecutorImpl(PeerToPeerClient peerToPeerClient, BambooClusterNodeHeartbeatService bambooClusterNodeHeartbeatService) -
ClusterNodesCommandsExecutorImpl
@VisibleForTesting protected ClusterNodesCommandsExecutorImpl(PeerToPeerClient peerToPeerClient, BambooClusterNodeHeartbeatService bambooClusterNodeHeartbeatService, ClusterNodesCommandsExecutorImpl.StatusReporter statusReporter)
-
-
Method Details
-
ensureNodeVisibilityOrWait
Description copied from interface:ClusterNodesCommandsExecutor
Notifying all cluster nodes that the node the method is called on is reachable and visible to the cluster. The method will block until either all nodes in the cluster have acknowledged the visibility of the node orcom.atlassian.bamboo.cluster.BambooClusterSettings.CLUSTER_HEARTBEAT_JOB_INTERVAL_IN_SECONDS
seconds passed.- Specified by:
ensureNodeVisibilityOrWait
in interfaceClusterNodesCommandsExecutor
- Throws:
StartupException
- if the notification to other nodes fails, indicating potential connection issues between nodes.
-
getRemainingTime
@VisibleForTesting protected long getRemainingTime(long startTime) -
getUnnotifiedNodes
-