Package org.infinispan.xsite
Class ClusteredCacheBackupReceiver
java.lang.Object
org.infinispan.xsite.ClusteredCacheBackupReceiver
- All Implemented Interfaces:
BackupReceiver
BackupReceiver implementation for clustered caches.- Since:
- 7.1
- Author:
- Pedro Ruivo
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionClears the cache.final <O> CompletionStage<O> handleRemoteCommand(VisitableCommand command) handleStateTransferControl(String originSite, boolean startReceiving) It handles starting or finishing, base onstartReceiving, of the state transfer from a remote site.handleStateTransferState(XSiteState[] chunk, long timeoutMs) It handles the state transfer state from a remote site.booleanputKeyValue(Object key, Object value, Metadata metadata, IracMetadata iracMetadata) Updates the key with the value from a remote site.removeKey(Object key, IracMetadata iracMetadata, boolean expiration) Deletes the key.voidstart()touchEntry(Object key) Touches an entry and returns if it was able to or not.
-
Constructor Details
-
ClusteredCacheBackupReceiver
public ClusteredCacheBackupReceiver()
-
-
Method Details
-
start
public void start() -
handleStateTransferControl
Description copied from interface:BackupReceiverIt handles starting or finishing, base onstartReceiving, of the state transfer from a remote site.The command must be broadcast to the entire cluster in which the cache exists.
- Specified by:
handleStateTransferControlin interfaceBackupReceiver- Parameters:
originSite- The remote site which is starting or finishing sending the state transfer.startReceiving-trueif theoriginSitewants to start sending state.
-
handleStateTransferState
Description copied from interface:BackupReceiverIt handles the state transfer state from a remote site. It is possible to have a single node applying the state or forward the state to respective primary owners.- Specified by:
handleStateTransferStatein interfaceBackupReceiver
-
handleRemoteCommand
- Specified by:
handleRemoteCommandin interfaceBackupReceiver
-
putKeyValue
public CompletionStage<Void> putKeyValue(Object key, Object value, Metadata metadata, IracMetadata iracMetadata) Description copied from interface:BackupReceiverUpdates the key with the value from a remote site.If a conflict occurs, the update can be discarded.
- Specified by:
putKeyValuein interfaceBackupReceiver- Parameters:
key- The key to update.value- The new value.metadata- The newMetadata.iracMetadata- TheIracMetadatafor conflict resolution.- Returns:
- A
CompletionStagethat is completed when the update is apply in the cluster or is discarded.
-
removeKey
Description copied from interface:BackupReceiverDeletes the key.This is a request from the remote site and the removal can be discarded if a conflict happens.
- Specified by:
removeKeyin interfaceBackupReceiver- Parameters:
key- The key to delete.iracMetadata- TheIracMetadatafor conflict resolution.expiration-trueif it is to remove an expired key.- Returns:
- A
CompletionStagethat is completed when the key is deleted or it is discarded.
-
clearKeys
Description copied from interface:BackupReceiverClears the cache.This is not safe and it doesn't perform any conflict resolution.
- Specified by:
clearKeysin interfaceBackupReceiver- Returns:
- A
CompletionStagethat is completed when the cache is cleared.
-
touchEntry
Description copied from interface:BackupReceiverTouches an entry and returns if it was able to or not.- Specified by:
touchEntryin interfaceBackupReceiver- Parameters:
key- the key of the entry to touch- Returns:
- if the entry was touched
-
isTransactionTableEmpty
public boolean isTransactionTableEmpty()
-