public class PromotionCommitOperation extends Operation implements MigrationCycleOperation
beforeStateCompleted property. First it invokes
BeforePromotionOperations for every promoted partition. After all operations return it will reschedule itself
and finalize the promotions by sending FinalizePromotionOperation for every promotion.GENERIC_PARTITION_ID| Constructor and Description |
|---|
PromotionCommitOperation() |
PromotionCommitOperation(PartitionRuntimeState partitionState,
Collection<MigrationInfo> promotions,
String expectedMemberUuid) |
| Modifier and Type | Method and Description |
|---|---|
void |
beforeRun() |
CallStatus |
call()
Call the operation and returns the CallStatus.
|
int |
getFactoryId()
Returns DataSerializableFactory factory ID for this class.
|
int |
getId()
Returns type identifier for this class.
|
Object |
getResponse()
Called if and only if
Operation.returnsResponse() returned true, shortly after Operation.run()
returns. |
String |
getServiceName() |
ExceptionAction |
onInvocationException(Throwable throwable)
Called when an Exception/Error is thrown
during an invocation.
|
protected void |
readInternal(ObjectDataInput in) |
protected void |
writeInternal(ObjectDataOutput out) |
afterRun, executedLocally, getCallerAddress, getCallerUuid, getCallId, getCallTimeout, getConnection, getInvocationTime, getLogger, getNodeEngine, getOperationResponseHandler, getPartitionId, getReplicaIndex, getService, getWaitTimeout, isUrgent, logError, onExecutionFailure, onSetCallId, readData, returnsResponse, run, sendResponse, setCallerUuid, setNodeEngine, setOperationResponseHandler, setPartitionId, setReplicaIndex, setService, setServiceName, setValidateTarget, setWaitTimeout, toString, toString, validatesTarget, writeDataclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitreadData, writeDatapublic PromotionCommitOperation()
public PromotionCommitOperation(PartitionRuntimeState partitionState, Collection<MigrationInfo> promotions, String expectedMemberUuid)
public void beforeRun()
throws Exception
public CallStatus call() throws Exception
OperationOperation.run() methods will be replaced by call methods.
The call method looks very much like the Operation.run() method and it is very close to Runnable.run() and
Callable.call().
The main difference between a run and call, is that the returned CallStatus from the call can tell something about the
actual execution. For example it could tell that some waiting is required in case of a BlockingOperation.
Or that the actual execution the work is offloaded to some executor in case of an Offloadable
EntryOperation.
In the future new types of CallStatus are expected to be added, e.g. for interleaving.
In the future it is very likely that for regular Operation that want to return a concrete response, the
actual response can be returned directly. In this case we'll change the return type to Object to
prevent forcing the response to be wrapped in a CallStatus.DONE_RESPONSE monad since that would force additional
litter to be created.public int getId()
IdentifiedDataSerializablegetId in interface IdentifiedDataSerializablepublic Object getResponse()
OperationOperation.returnsResponse() returned true, shortly after Operation.run()
returns.getResponse in class Operationpublic String getServiceName()
getServiceName in class Operationpublic ExceptionAction onInvocationException(Throwable throwable)
OperationonInvocationException in class Operationthrowable - Exception/Error thrown during invocationprotected void readInternal(ObjectDataInput in) throws IOException
readInternal in class OperationIOExceptionprotected void writeInternal(ObjectDataOutput out) throws IOException
writeInternal in class OperationIOExceptionpublic final int getFactoryId()
IdentifiedDataSerializablegetFactoryId in interface IdentifiedDataSerializableCopyright © 2018 Hazelcast, Inc.. All Rights Reserved.