Package org.infinispan.xsite.irac
Enum NoOpIracManager
- All Implemented Interfaces:
Serializable,Comparable<NoOpIracManager>,IracManager
A no-op implementation of
IracManager for cache without asynchronous remote site backups.- Since:
- 11.0
- Author:
- Pedro Ruivo
-
Enum Constant Summary
Enum Constants -
Method Summary
Modifier and TypeMethodDescriptionChecks if the given key is expired on all other sites.booleancontainsKey(Object key) Checks if the key is present.voidIncrease the count of conflicts if merge policy discard update (local value wins)voidIncrease the count of conflicts if merge policy created a new value (merge remote value with local value)voidIncrease the count of conflicts if merge policy applies update (remote value wins)voidIncrease the count of discards.voidonTopologyUpdate(CacheTopology oldCacheTopology, CacheTopology newCacheTopology) Notifies a topology changed.voidreceiveState(int segment, Object key, Object lockOwner, IracMetadata tombstone) Receives the state related to thekey.voidremoveState(IracManagerKeyInfo state) Removes the state associated to a single key.voidrequestState(Address requestor, IntSet segments) Requests the state stored in this instance for the givensegments.voidtrackClear(boolean sendClear) Sets all keys as removed.voidtrackExpiredKey(int segment, Object key, Object lockOwner) Similar toIracManager.trackUpdatedKey(int, Object, Object)but it tracks expired keys instead.trackForStateTransfer(Collection<XSiteState> stateList) Tracks a set of keys to be sent to the remote site.voidtrackUpdatedKey(int segment, Object key, Object lockOwner) Sets thekeyas changed by thelockOwner.static NoOpIracManagerReturns the enum constant of this type with the specified name.static NoOpIracManager[]values()Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
INSTANCE
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum type has no constant with the specified nameNullPointerException- if the argument is null
-
trackUpdatedKey
Description copied from interface:IracManagerSets thekeyas changed by thelockOwner.- Specified by:
trackUpdatedKeyin interfaceIracManager- Parameters:
segment- The key's segment.key- The key changed.lockOwner- The lock owner who updated the key.
-
trackExpiredKey
Description copied from interface:IracManagerSimilar toIracManager.trackUpdatedKey(int, Object, Object)but it tracks expired keys instead.Expired key need a different conflict resolution algorithm since remove expired should never win any conflict.
- Specified by:
trackExpiredKeyin interfaceIracManager- Parameters:
segment- The key's segment.key- The key expired.lockOwner- The lock owner who updated the key.
-
trackForStateTransfer
Description copied from interface:IracManagerTracks a set of keys to be sent to the remote site.There is no much difference between this method and
IracManager.trackUpdatedKey(int, Object, Object). It just returns aCompletionStageto notify when the keys were sent. It is required by the cross-site state transfer protocol to know when it has finish.- Specified by:
trackForStateTransferin interfaceIracManager- Parameters:
stateList- The list ofXSiteState.- Returns:
- A
CompletionStagewhich is completed when all the keys instateListhave been sent to the remote site.
-
trackClear
public void trackClear(boolean sendClear) Description copied from interface:IracManagerSets all keys as removed.- Specified by:
trackClearin interfaceIracManager- Parameters:
sendClear- iftrue, anIracClearKeysRequestis sent to the backup sites.
-
removeState
Description copied from interface:IracManagerRemoves the state associated to a single key.- Specified by:
removeStatein interfaceIracManager- Parameters:
state- The state to remove.
-
onTopologyUpdate
Description copied from interface:IracManagerNotifies a topology changed.- Specified by:
onTopologyUpdatein interfaceIracManager- Parameters:
oldCacheTopology- The oldCacheTopology.newCacheTopology- The newCacheTopology.
-
requestState
Description copied from interface:IracManagerRequests the state stored in this instance for the givensegments.- Specified by:
requestStatein interfaceIracManager- Parameters:
requestor- The requestor.segments- The segments requested.
-
receiveState
Description copied from interface:IracManagerReceives the state related to thekey.- Specified by:
receiveStatein interfaceIracManager- Parameters:
segment- The key's segment.key- The key modified.lockOwner- The lastlockOwner.tombstone- The tombstone (can benull)
-
checkAndTrackExpiration
Description copied from interface:IracManagerChecks if the given key is expired on all other sites. If the key is expired on all other sites this will return true- Specified by:
checkAndTrackExpirationin interfaceIracManager- Parameters:
key- The key to check if it is expired or not- Returns:
- Whether this key is expired on all other sites
-
incrementNumberOfDiscards
public void incrementNumberOfDiscards()Description copied from interface:IracManagerIncrease the count of discards.- Specified by:
incrementNumberOfDiscardsin interfaceIracManager
-
incrementNumberOfConflictLocalWins
public void incrementNumberOfConflictLocalWins()Description copied from interface:IracManagerIncrease the count of conflicts if merge policy discard update (local value wins)- Specified by:
incrementNumberOfConflictLocalWinsin interfaceIracManager
-
incrementNumberOfConflictRemoteWins
public void incrementNumberOfConflictRemoteWins()Description copied from interface:IracManagerIncrease the count of conflicts if merge policy applies update (remote value wins)- Specified by:
incrementNumberOfConflictRemoteWinsin interfaceIracManager
-
incrementNumberOfConflictMerged
public void incrementNumberOfConflictMerged()Description copied from interface:IracManagerIncrease the count of conflicts if merge policy created a new value (merge remote value with local value)- Specified by:
incrementNumberOfConflictMergedin interfaceIracManager
-
containsKey
Description copied from interface:IracManagerChecks if the key is present.A key is present as long as its latest update was not confirmed by all remote sites.
- Specified by:
containsKeyin interfaceIracManager- Parameters:
key- The key to check.- Returns:
trueif the key is present.
-