Class NoOpXSiteStateTransferManager
java.lang.Object
org.infinispan.xsite.statetransfer.NoOpXSiteStateTransferManager
- All Implemented Interfaces:
XSiteStateTransferManager
A no-op implementation of
XSiteStateTransferManager
.
This instance is used when cross-site replication is disabled.
- Since:
- 8.0
- Author:
- Pedro Ruivo
-
Field Summary
Fields inherited from interface org.infinispan.xsite.statetransfer.XSiteStateTransferManager
STATUS_CANCELED, STATUS_ERROR, STATUS_OK, STATUS_SENDING
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
becomeCoordinator
(String siteName) Makes this node the coordinator for the state transfer to the site name.void
cancelPushState
(String siteName) It cancels a running state transfer.void
cancelReceive
(String siteName) Sets the cluster to normal state.void
Clears the completed state transfer status in all the cluster.void
Clears the completed state transfer status.void
notifyStatePushFinished
(String siteName, Address node, boolean statusOk) It receives the notifications from local site when some node finishes pushing the state to the remote site.void
onTopologyUpdated
(CacheTopology cacheTopology, boolean stateTransferInProgress) NotifiesXSiteStateTransferManager
that a newCacheTopology
is installed and if the local cluster state transfer is in progress (or about to start)boolean
setAutomaticStateTransfer
(String site, XSiteStateTransferMode mode) Sets theXSiteStateTransferMode
to the remote site.void
startAutomaticStateTransferTo
(ByteString remoteSite, boolean ignoreStatus) Starts the automatic cross-site state transfer if available and if required.void
startPushState
(String siteName) It notifies all nodes from local site to start transfer the state to the remote site.stateTransferMode
(String site) toString()
-
Constructor Details
-
NoOpXSiteStateTransferManager
public NoOpXSiteStateTransferManager()
-
-
Method Details
-
notifyStatePushFinished
Description copied from interface:XSiteStateTransferManager
It receives the notifications from local site when some node finishes pushing the state to the remote site.- Specified by:
notifyStatePushFinished
in interfaceXSiteStateTransferManager
- Parameters:
siteName
- the remote site namenode
- theAddress
from the node that finishes.statusOk
-true
if no error or exception occurred during the state transfer.
-
startPushState
Description copied from interface:XSiteStateTransferManager
It notifies all nodes from local site to start transfer the state to the remote site.- Specified by:
startPushState
in interfaceXSiteStateTransferManager
- Parameters:
siteName
- the remote site name
-
cancelPushState
Description copied from interface:XSiteStateTransferManager
It cancels a running state transfer.- Specified by:
cancelPushState
in interfaceXSiteStateTransferManager
- Parameters:
siteName
- the site name to where the state is being sent.
-
getRunningStateTransfers
- Specified by:
getRunningStateTransfers
in interfaceXSiteStateTransferManager
- Returns:
- a list of site names in which this cache is pushing state.
-
getStatus
- Specified by:
getStatus
in interfaceXSiteStateTransferManager
- Returns:
- the completed state transfer status for which this node is the coordinator.
-
clearStatus
public void clearStatus()Description copied from interface:XSiteStateTransferManager
Clears the completed state transfer status.- Specified by:
clearStatus
in interfaceXSiteStateTransferManager
-
getClusterStatus
- Specified by:
getClusterStatus
in interfaceXSiteStateTransferManager
- Returns:
- the completed state transfer status from all the coordinators in the cluster.
-
clearClusterStatus
public void clearClusterStatus()Description copied from interface:XSiteStateTransferManager
Clears the completed state transfer status in all the cluster.- Specified by:
clearClusterStatus
in interfaceXSiteStateTransferManager
-
getSendingSiteName
- Specified by:
getSendingSiteName
in interfaceXSiteStateTransferManager
- Returns:
null
if this node is not receiving state or the site name which is sending the state.
-
cancelReceive
Description copied from interface:XSiteStateTransferManager
Sets the cluster to normal state. The main use for this method is when the link between the sites is broken and the receiver site keeps it state transfer state forever.- Specified by:
cancelReceive
in interfaceXSiteStateTransferManager
- Parameters:
siteName
- the site name which is sending the state.
-
becomeCoordinator
Description copied from interface:XSiteStateTransferManager
Makes this node the coordinator for the state transfer to the site name. This method is invoked when the coordinator dies and this node receives a late start state transfer request.- Specified by:
becomeCoordinator
in interfaceXSiteStateTransferManager
- Parameters:
siteName
- the site name.
-
onTopologyUpdated
Description copied from interface:XSiteStateTransferManager
NotifiesXSiteStateTransferManager
that a newCacheTopology
is installed and if the local cluster state transfer is in progress (or about to start)- Specified by:
onTopologyUpdated
in interfaceXSiteStateTransferManager
- Parameters:
cacheTopology
- The newCacheTopology
.stateTransferInProgress
-true
if the state transfer is in progress or starting.
-
getStateProvider
- Specified by:
getStateProvider
in interfaceXSiteStateTransferManager
- Returns:
- The
XSiteStateProvider
instance.
-
getStateConsumer
- Specified by:
getStateConsumer
in interfaceXSiteStateTransferManager
- Returns:
- The
XSiteStateConsumer
instance.
-
startAutomaticStateTransferTo
Description copied from interface:XSiteStateTransferManager
Starts the automatic cross-site state transfer if available and if required.- Specified by:
startAutomaticStateTransferTo
in interfaceXSiteStateTransferManager
- Parameters:
remoteSite
- The remote site to send state to.ignoreStatus
- Iftrue
, it starts the state transfer based only onXSiteStateTransferMode
.
-
stateTransferMode
- Specified by:
stateTransferMode
in interfaceXSiteStateTransferManager
- Parameters:
site
- The remote site.- Returns:
- The
XSiteStateTransferMode
configured for the remote site.
-
setAutomaticStateTransfer
Description copied from interface:XSiteStateTransferManager
Sets theXSiteStateTransferMode
to the remote site.If the configuration for the remote site does not support the
XSiteStateTransferMode
, then this method returnsfalse
.- Specified by:
setAutomaticStateTransfer
in interfaceXSiteStateTransferManager
- Parameters:
site
- The remote site.mode
- The newXSiteStateTransferMode
.- Returns:
false
if the site does not support the correspondingXSiteStateTransferMode
.
-
toString
-