@InterfaceAudience.Private public class RemovePeerProcedure extends ModifyPeerProcedure
StateMachineProcedure.Flow
Procedure.LockState
PeerProcedureInterface.PeerOperationType
SLEEP_INTERVAL_MS, UPDATE_LAST_SEQ_ID_BATCH_SIZE
latch, peerId
stateCount
NO_PROC_ID, NO_TIMEOUT
构造器和说明 |
---|
RemovePeerProcedure() |
RemovePeerProcedure(String peerId) |
限定符和类型 | 方法和说明 |
---|---|
protected void |
deserializeStateData(ProcedureStateSerializer serializer) |
PeerProcedureInterface.PeerOperationType |
getPeerOperationType() |
protected void |
postPeerModification(MasterProcedureEnv env)
Called before we finish the procedure.
|
protected void |
prePeerModification(MasterProcedureEnv env)
Called before we start the actual processing.
|
protected void |
serializeStateData(ProcedureStateSerializer serializer) |
protected void |
updatePeerStorage(MasterProcedureEnv env) |
enablePeer, enablePeerBeforeFinish, executeFromState, getInitialState, getNewPeerConfig, getOldPeerConfig, getState, getStateId, nextStateAfterRefresh, reopenRegions, rollbackState, setLastPushedSequenceId, setLastPushedSequenceIdForTable, setTimeoutFailure, updateLastPushedSequenceIdForSerialPeer
acquireLock, getLatch, getPeerId, holdLock, releaseLock, waitInitialized
abort, addChildProcedure, execute, failIfAborted, getCurrentState, getCurrentStateId, getCycles, isEofState, isRollbackSupported, isYieldAfterExecutionStep, isYieldBeforeExecuteFromState, rollback, setNextState, toStringState
addStackIndex, afterReplay, beforeReplay, bypass, compareTo, completionCleanup, doExecute, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcedureMetrics, getProcId, getProcIdHashCode, getProcName, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, incChildrenLatch, isBypass, isFailed, isFinished, isInitializing, isLockedWhenLoading, isRunnable, isSuccess, isWaiting, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, shouldWaitClientAck, skipPersistence, toString, toStringClass, toStringClassDetails, toStringDetails, toStringSimpleSB, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted
public RemovePeerProcedure()
public RemovePeerProcedure(String peerId)
public PeerProcedureInterface.PeerOperationType getPeerOperationType()
protected void prePeerModification(MasterProcedureEnv env) throws IOException
ModifyPeerProcedure
If an IOException is thrown then we will give up and mark the procedure as failed directly. If all checks passes then the procedure can not be rolled back any more.
prePeerModification
在类中 ModifyPeerProcedure
IOException
protected void updatePeerStorage(MasterProcedureEnv env) throws ReplicationException
updatePeerStorage
在类中 ModifyPeerProcedure
ReplicationException
protected void postPeerModification(MasterProcedureEnv env) throws IOException, ReplicationException
ModifyPeerProcedure
Notice that, since we have already done the actual work, throwing IOException
here will
not fail this procedure, we will just ignore it and finish the procedure as suceeded. If
ReplicationException
is thrown we will retry since this usually means we fails to
update the peer storage.
protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException
protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.