public class DefaultClusterManager extends Object implements ClusterManager, Startable
ALL_NODES, ANY_NODE| Constructor and Description |
|---|
DefaultClusterManager(ClusterNodes clusterNodes,
com.atlassian.event.api.EventPublisher eventPublisher,
ClusterLicenseCheck licenseCheck,
MessageHandlerService messageHandlerService,
NodeCutOffManager nodeCutOffManager) |
| Modifier and Type | Method and Description |
|---|---|
void |
checkIndex()
Forces an index check to see if it is current (or can be rebuilt from current) - if the index is too out of date
request an index replica, only do this on passive nodes for now
|
Collection<Node> |
findLiveNodes()
Returns a snapshot of the live nodes.
|
Set<Node> |
getAllNodes()
Returns all the nodes in the cluster.
|
String |
getNodeId()
Provides the node ID for this particular cluster node.
|
boolean |
isActive()
Returns
true if this node is active. |
boolean |
isClustered()
If there is a cluster.properties that appears to be valid
|
boolean |
isClusterLicensed()
Returns whether or not JIRA is licensed for clustered configurations.
|
boolean |
isNodeAlive(String nodeId) |
boolean |
isNodeOffline(String nodeId) |
boolean |
isNodePresent(String nodeId) |
void |
moveToOffline(String nodeId)
Update nodes's state to OFFLINE if current state is ACTIVE and nonalive
|
void |
refreshLiveNodes()
Merges the information from the heartbeat table and the clusternode table
to give accurate information of which nodes are alive.
|
void |
releaseNodeReindexService(IndexesRestoredEvent ev) |
void |
removeIfOffline(String nodeId)
Remove node from cluster if node is OFFLINE
|
void |
requestCurrentIndexFromNode(String destinationNode)
We send a message to the node we wish a copy from.
|
void |
start()
This method will be called after the plugin system is fully initialised and all components added to the
dependency injection framework.
|
public DefaultClusterManager(ClusterNodes clusterNodes, com.atlassian.event.api.EventPublisher eventPublisher, ClusterLicenseCheck licenseCheck, MessageHandlerService messageHandlerService, NodeCutOffManager nodeCutOffManager)
public void start()
Startable@Nullable public String getNodeId()
ClusterInfogetNodeId in interface ClusterInfopublic boolean isClustered()
isClustered in interface ClusterInfopublic Set<Node> getAllNodes()
ClusterManagergetAllNodes in interface ClusterManagerNodes in a clusterpublic boolean isActive()
true if this node is active.isActive in interface ClusterManagertrue if this node is active.public void checkIndex()
checkIndex in interface ClusterManagerpublic void requestCurrentIndexFromNode(String destinationNode)
ClusterManagerrequestCurrentIndexFromNode in interface ClusterManagerdestinationNode - Node to send the message to get an Index Copy from.public Collection<Node> findLiveNodes()
ClusterManagerfindLiveNodes in interface ClusterManagerpublic void refreshLiveNodes()
ClusterManagerrefreshLiveNodes in interface ClusterManager@EventListener public void releaseNodeReindexService(IndexesRestoredEvent ev)
public boolean isClusterLicensed()
ClusterManagerisClusterLicensed in interface ClusterManagerpublic void removeIfOffline(@NotNull
String nodeId)
throws ClusterStateException
ClusterManagerremoveIfOffline in interface ClusterManagerClusterStateException - if node is not offlinepublic void moveToOffline(@NotNull
String nodeId)
throws ClusterStateException
ClusterManagermoveToOffline in interface ClusterManagerClusterStateException - if node is alivepublic boolean isNodeAlive(@NotNull
String nodeId)
isNodeAlive in interface ClusterManagerpublic boolean isNodePresent(@NotNull
String nodeId)
isNodePresent in interface ClusterManagerpublic boolean isNodeOffline(@NotNull
String nodeId)
isNodeOffline in interface ClusterManagerCopyright © 2002-2019 Atlassian. All Rights Reserved.