public final class LegacyMigrationOperation extends Operation
Modifier and Type | Field and Description |
---|---|
protected MigrationInfo |
migrationInfo |
protected int |
partitionStateVersion |
protected boolean |
success |
GENERIC_PARTITION_ID
Constructor and Description |
---|
LegacyMigrationOperation() |
LegacyMigrationOperation(MigrationInfo migrationInfo,
long[] replicaVersions,
Collection<Operation> tasks,
int partitionStateVersion) |
Modifier and Type | Method and Description |
---|---|
void |
beforeRun()
Validates the migration operation: the UUIDs of the node should match the one in the
migrationInfo ,
the cluster should be in ClusterState.ACTIVE and the node started and the partition state version from
the sender should match the local partition state version. |
int |
getFactoryId()
Returns DataSerializableFactory factory ID for this class.
|
int |
getId()
Returns type identifier for this class.
|
protected PartitionMigrationEvent |
getMigrationEvent()
Returns the event which will be forwarded to
MigrationAwareService s. |
MigrationInfo |
getMigrationInfo() |
protected InternalMigrationListener.MigrationParticipant |
getMigrationParticipantType() |
Object |
getResponse() |
void |
logError(Throwable e)
Logs Exception/Error thrown during operation execution.
|
void |
onExecutionFailure(Throwable e)
Called when an Exception/Error is thrown during operation execution.
|
ExceptionAction |
onInvocationException(Throwable throwable)
Called when an Exception/Error is thrown
during an invocation.
|
protected void |
prepareOperation(Operation op) |
protected void |
readInternal(ObjectDataInput in) |
void |
run() |
protected void |
toString(StringBuilder sb)
A template method allows for additional information to be passed into the
Operation.toString() method. |
boolean |
validatesTarget() |
protected void |
writeInternal(ObjectDataOutput out) |
afterRun, executedLocally, getCallerAddress, getCallerUuid, getCallId, getCallTimeout, getConnection, getInvocationTime, getLogger, getNodeEngine, getOperationResponseHandler, getPartitionId, getReplicaIndex, getService, getServiceName, getWaitTimeout, isUrgent, onSetCallId, readData, returnsResponse, sendResponse, setCallerUuid, setNodeEngine, setOperationResponseHandler, setPartitionId, setReplicaIndex, setService, setServiceName, setValidateTarget, setWaitTimeout, toString, writeData
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getPartitionId
readData, writeData
protected MigrationInfo migrationInfo
protected boolean success
protected int partitionStateVersion
public LegacyMigrationOperation()
public LegacyMigrationOperation(MigrationInfo migrationInfo, long[] replicaVersions, Collection<Operation> tasks, int partitionStateVersion)
public void onExecutionFailure(Throwable e)
Operation
onExecutionFailure
in class Operation
e
- Exception/Error thrown during operation executionprotected void writeInternal(ObjectDataOutput out) throws IOException
IOException
protected void readInternal(ObjectDataInput in) throws IOException
IOException
protected void toString(StringBuilder sb)
Operation
Operation.toString()
method. So an Operation
subclass can override this method and add additional debugging content. The default implementation does nothing so
one is not forced to provide an empty implementation.
It is a good practice always to call the super.toString(stringBuffer) when implementing this method to make sure
that the super class can inject content if needed.sb
- the StringBuilder to add the debug info to.public int getId()
IdentifiedDataSerializable
protected PartitionMigrationEvent getMigrationEvent()
MigrationAwareService
s.protected InternalMigrationListener.MigrationParticipant getMigrationParticipantType()
protected void prepareOperation(Operation op)
public final void beforeRun() throws Exception
migrationInfo
,
the cluster should be in ClusterState.ACTIVE
and the node started and the partition state version from
the sender should match the local partition state version.beforeRun
in class Operation
IllegalStateException
- if the UUIDs don't match or if the cluster and node state are notPartitionStateVersionMismatchException
- if the partition versions don't match and this node is not the master nodeException
public MigrationInfo getMigrationInfo()
public Object getResponse()
getResponse
in class Operation
public final boolean validatesTarget()
validatesTarget
in class Operation
public ExceptionAction onInvocationException(Throwable throwable)
Operation
onInvocationException
in class Operation
throwable
- Exception/Error thrown during invocationpublic void logError(Throwable e)
Operation
public final int getFactoryId()
IdentifiedDataSerializable
getFactoryId
in interface IdentifiedDataSerializable
Copyright © 2017 Hazelcast, Inc.. All Rights Reserved.