Package org.infinispan.commands.triangle
Class BackupWriteCommand
java.lang.Object
org.infinispan.commands.remote.BaseRpcCommand
org.infinispan.commands.triangle.BackupWriteCommand
- All Implemented Interfaces:
CacheRpcCommand,ReplicableCommand
- Direct Known Subclasses:
BackupNoopCommand,MultiEntriesFunctionalBackupWriteCommand,MultiKeyFunctionalBackupWriteCommand,PutMapBackupWriteCommand,SingleKeyBackupWriteCommand,SingleKeyFunctionalBackupWriteCommand
A write operation sent from the primary owner to the backup owners.
This is a base command with the CommandInvocationId, topology and flags.
Since the primary → backup operations are ordered by segment, it contains the segment to be updated and its sequence number.
- Since:
- 9.2
- Author:
- Pedro Ruivo
-
Field Summary
FieldsFields inherited from class org.infinispan.commands.remote.BaseRpcCommand
cacheName, origin -
Method Summary
Modifier and TypeMethodDescriptionfinal booleancanBlock()If true, the command is processed asynchronously in a thread provided by an Infinispan thread pool.final CommandInvocationIdfinal longgetFlags()final intfinal longfinal intfinal CompletionStage<?>invokeAsync(ComponentRegistry componentRegistry) Invoke the command asynchronously.final booleanIf true, a return value will be provided when performed remotely.final voidsetSegmentId(int segmentId) final voidsetSequence(long sequence) Methods inherited from class org.infinispan.commands.remote.BaseRpcCommand
getCacheName, getOrigin, setOrigin, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.infinispan.commands.ReplicableCommand
getCommandId, invoke, invokeAsync, isSuccessful, logThrowable, readFrom, writeTo
-
Field Details
-
segmentId
protected int segmentId
-
-
Method Details
-
invokeAsync
Description copied from interface:CacheRpcCommandInvoke the command asynchronously.This method replaces
ReplicableCommand.invoke()for remote execution. The default implementation andReplicableCommand.invoke()will be removed in future versions. -
isReturnValueExpected
public final boolean isReturnValueExpected()Description copied from interface:ReplicableCommandIf true, a return value will be provided when performed remotely. Otherwise, a remoteResponseGeneratormay choose to simply return null to save on marshalling costs.- Returns:
- true or false
-
canBlock
public final boolean canBlock()Description copied from interface:ReplicableCommandIf true, the command is processed asynchronously in a thread provided by an Infinispan thread pool. Otherwise, the command is processed directly in the JGroups thread. This feature allows to avoid keep a JGroups thread busy that can originate discard of messages and retransmissions. So, the commands that can block (waiting for some state, acquiring locks, etc.) should return true.- Returns:
trueif the command can block/wait,falseotherwise
-
getSequence
public final long getSequence() -
setSequence
public final void setSequence(long sequence) -
getCommandInvocationId
-
getTopologyId
public final int getTopologyId() -
getFlags
public final long getFlags() -
getSegmentId
public final int getSegmentId() -
setSegmentId
public final void setSegmentId(int segmentId)
-