Class DefaultIracVersionGenerator
- java.lang.Object
-
- org.infinispan.container.versioning.irac.DefaultIracVersionGenerator
-
- All Implemented Interfaces:
org.infinispan.commons.api.Lifecycle,IracVersionGenerator
public class DefaultIracVersionGenerator extends Object implements IracVersionGenerator
Default implementation ofIracVersionGenerator.- Since:
- 11.0
- Author:
- Pedro Ruivo
-
-
Constructor Summary
Constructors Constructor Description DefaultIracVersionGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IracMetadatagenerateNewMetadata(int segment)Generator a newIracMetadatafor a givensegment.IracMetadatagetTombstone(Object key)Returns the tombstone associated to thekeyornullif it doesn't exist.voidonTopologyChange(CacheTopology newTopology)Invoked when a topology change occurs in the cluster.voidremoveTombstone(Object key)Removes the tombstone forkey.voidremoveTombstone(Object key, IracMetadata iracMetadata)Removes the tombstone forkeyif the metadata matches.voidstart()voidstop()voidstoreTombstone(Object key, IracMetadata metadata)Stores a tombstone for a key removed.voidstoreTombstoneIfAbsent(Object key, IracMetadata metadata)Same asIracVersionGenerator.storeTombstone(Object, IracMetadata)but it doesn't overwrite an existing tombstone.voidupdateVersion(int segment, IracEntryVersion remoteVersion)Updates the version for thesegmentwith a newremoteVersionseen.
-
-
-
Method Detail
-
start
public void start()
- Specified by:
startin interfaceorg.infinispan.commons.api.Lifecycle
-
stop
public void stop()
- Specified by:
stopin interfaceorg.infinispan.commons.api.Lifecycle
-
generateNewMetadata
public IracMetadata generateNewMetadata(int segment)
Description copied from interface:IracVersionGeneratorGenerator a newIracMetadatafor a givensegment.The
IracEntryVersioncreated is always higher than the previous one for the samesegment.- Specified by:
generateNewMetadatain interfaceIracVersionGenerator- Parameters:
segment- The segment.- Returns:
- The
IracMetadatacreated.
-
updateVersion
public void updateVersion(int segment, IracEntryVersion remoteVersion)Description copied from interface:IracVersionGeneratorUpdates the version for thesegmentwith a newremoteVersionseen.This method should merge both the current version internally stored and the
remoteVersionto achieve anIracEntryVersionhigher than both.- Specified by:
updateVersionin interfaceIracVersionGenerator- Parameters:
segment- The segment.remoteVersion- The remoteIracEntryVersionreceived.
-
onTopologyChange
public void onTopologyChange(CacheTopology newTopology)
Description copied from interface:IracVersionGeneratorInvoked when a topology change occurs in the cluster.- Specified by:
onTopologyChangein interfaceIracVersionGenerator- Parameters:
newTopology- The newCacheTopology
-
storeTombstone
public void storeTombstone(Object key, IracMetadata metadata)
Description copied from interface:IracVersionGeneratorStores a tombstone for a key removed.It overwrites any existing tombstone.
- Specified by:
storeTombstonein interfaceIracVersionGenerator- Parameters:
key- The key.metadata- TheIracMetadata.
-
storeTombstoneIfAbsent
public void storeTombstoneIfAbsent(Object key, IracMetadata metadata)
Description copied from interface:IracVersionGeneratorSame asIracVersionGenerator.storeTombstone(Object, IracMetadata)but it doesn't overwrite an existing tombstone.- Specified by:
storeTombstoneIfAbsentin interfaceIracVersionGenerator- Parameters:
key- The key.metadata- TheIracMetadata.
-
getTombstone
public IracMetadata getTombstone(Object key)
Description copied from interface:IracVersionGeneratorReturns the tombstone associated to thekeyornullif it doesn't exist.- Specified by:
getTombstonein interfaceIracVersionGenerator- Parameters:
key- The key.- Returns:
- The tombstone.
-
removeTombstone
public void removeTombstone(Object key, IracMetadata iracMetadata)
Description copied from interface:IracVersionGeneratorRemoves the tombstone forkeyif the metadata matches.- Specified by:
removeTombstonein interfaceIracVersionGenerator- Parameters:
key- The key.iracMetadata- The expectedIracMetadata.
-
removeTombstone
public void removeTombstone(Object key)
Description copied from interface:IracVersionGeneratorRemoves the tombstone forkey.- Specified by:
removeTombstonein interfaceIracVersionGenerator- Parameters:
key- The key.
-
-