Class IracTombstoneCleanupCommand

java.lang.Object
org.infinispan.commands.irac.IracTombstoneCleanupCommand
All Implemented Interfaces:
CacheRpcCommand, ReplicableCommand, TracedCommand, VersionAware

@ProtoTypeId(1106) public class IracTombstoneCleanupCommand extends Object
A CacheRpcCommand to clean up tombstones for IRAC algorithm.

This command is sent from the primary owners to the backup owner with the tombstone to be removed. No response is expected from the backup owners.

Since:
14.0
  • Field Details

    • cacheName

      protected final ByteString cacheName
  • Constructor Details

    • IracTombstoneCleanupCommand

      public IracTombstoneCleanupCommand(ByteString cacheName, int maxCapacity)
  • Method Details

    • invokeAsync

      public CompletionStage<Boolean> invokeAsync(ComponentRegistry registry)
      Description copied from interface: CacheRpcCommand
      Invoke the command asynchronously.
    • supportedSince

      public NodeVersion supportedSince()
      Description copied from interface: ReplicableCommand
      Returns a NodeVersion representing the Infinispan version in which this command was added. This value is used to ensure that when the cluster contains different Infinispan versions, only commands compatible with the oldest version are transmitted.

      Abstract classes should not implement this method as the version should be specific to an individual implementation. Similarly, implementations which extend another ReplicableCommand should always override this method.

      Returns:
      a NodeVersion corresponding to the Infinispan version this command was added.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • add

      public void add(IracTombstoneInfo tombstone)
    • size

      public int size()
    • isEmpty

      public boolean isEmpty()
    • getTombstonesToRemove

      public Collection<IracTombstoneInfo> getTombstonesToRemove()
    • getCacheName

      @ProtoField(1) public ByteString getCacheName()
      Specified by:
      getCacheName in interface CacheRpcCommand
      Returns:
      the name of the cache that produced this command. This will also be the name of the cache this command is intended for.
    • isReturnValueExpected

      public boolean isReturnValueExpected()
      Description copied from interface: ReplicableCommand
      If true, a return value will be provided when performed remotely. Otherwise, a remote ResponseGenerator may choose to simply return null to save on marshalling costs.
      Specified by:
      isReturnValueExpected in interface ReplicableCommand
      Returns:
      true or false
    • setOrigin

      public void setOrigin(Address origin)
      Description copied from interface: CacheRpcCommand
      Set the origin of the command
      Specified by:
      setOrigin in interface CacheRpcCommand
      Specified by:
      setOrigin in interface ReplicableCommand
      Parameters:
      origin - the sender's Address
    • getOrigin

      public Address getOrigin()
      Description copied from interface: CacheRpcCommand
      Get the origin of the command
      Specified by:
      getOrigin in interface CacheRpcCommand