Class IracTombstoneRemoteSiteCheckCommand

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

@ProtoTypeId(1109) public class IracTombstoneRemoteSiteCheckCommand extends Object
A BaseRpcCommand to check tombstones for IRAC algorithm.

Periodically, the primary owner sends this command to the remote sites where they check if the tombstone for this key is still necessary.

Since:
14.0
  • Field Details

    • cacheName

      protected final ByteString cacheName
  • Constructor Details

    • IracTombstoneRemoteSiteCheckCommand

      public IracTombstoneRemoteSiteCheckCommand(ByteString cacheName, List<Object> keys)
  • Method Details

    • invokeAsync

      public CompletionStage<org.infinispan.commons.util.IntSet> invokeAsync(ComponentRegistry registry)
      Description copied from interface: CacheRpcCommand
      Invoke the command asynchronously.
    • 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
    • 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
    • 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.
    • 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