@InterfaceAudience.Private public class AddPeerProcedure extends ModifyPeerProcedure
StateMachineProcedure.FlowProcedure.LockStatePeerProcedureInterface.PeerOperationType| Modifier and Type | Field and Description | 
|---|---|
| private boolean | enabled | 
| private static org.slf4j.Logger | LOG | 
| private ReplicationPeerConfig | peerConfig | 
SLEEP_INTERVAL_MS, UPDATE_LAST_SEQ_ID_BATCH_SIZElatch, peerIdstateCountNO_PROC_ID, NO_TIMEOUT| Constructor and Description | 
|---|
| AddPeerProcedure() | 
| AddPeerProcedure(String peerId,
                ReplicationPeerConfig peerConfig,
                boolean enabled) | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | deserializeStateData(ProcedureStateSerializer serializer)Called on store load to allow the user to decode the previously serialized
 state. | 
| protected boolean | enablePeerBeforeFinish()The implementation class should override this method if the procedure may enter the serial
 related states. | 
| protected ReplicationPeerConfig | getNewPeerConfig() | 
| PeerProcedureInterface.PeerOperationType | getPeerOperationType() | 
| protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState | nextStateAfterRefresh()Implementation class can override this method. | 
| 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)The user-level code of the procedure may have some state to
 persist (e.g. | 
| protected void | updateLastPushedSequenceIdForSerialPeer(MasterProcedureEnv env) | 
| protected void | updatePeerStorage(MasterProcedureEnv env) | 
enablePeer, executeFromState, getInitialState, getOldPeerConfig, getState, getStateId, reopenRegions, rollbackState, setLastPushedSequenceId, setLastPushedSequenceIdForTable, setTimeoutFailureacquireLock, getLatch, getPeerId, holdLock, releaseLock, waitInitializedabort, addChildProcedure, execute, failIfAborted, getCurrentState, getCurrentStateId, getCycles, isEofState, isRollbackSupported, isYieldAfterExecutionStep, isYieldBeforeExecuteFromState, rollback, setNextState, toStringStateaddStackIndex, 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, wasExecutedprivate static final org.slf4j.Logger LOG
private ReplicationPeerConfig peerConfig
private boolean enabled
public AddPeerProcedure()
public AddPeerProcedure(String peerId, ReplicationPeerConfig peerConfig, boolean enabled)
public PeerProcedureInterface.PeerOperationType getPeerOperationType()
protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState nextStateAfterRefresh()
ModifyPeerProcedurenextStateAfterRefresh in class ModifyPeerProcedureprotected void updateLastPushedSequenceIdForSerialPeer(MasterProcedureEnv env) throws IOException, ReplicationException
updateLastPushedSequenceIdForSerialPeer in class ModifyPeerProcedureIOExceptionReplicationExceptionprotected boolean enablePeerBeforeFinish()
ModifyPeerProcedureenablePeerBeforeFinish in class ModifyPeerProcedureprotected ReplicationPeerConfig getNewPeerConfig()
getNewPeerConfig in class ModifyPeerProcedureprotected void prePeerModification(MasterProcedureEnv env) throws IOException, ReplicationException
ModifyPeerProcedureIf 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 in class ModifyPeerProcedureIOExceptionReplicationExceptionprotected void updatePeerStorage(MasterProcedureEnv env) throws ReplicationException
updatePeerStorage in class ModifyPeerProcedureReplicationExceptionprotected 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.
postPeerModification in class ModifyPeerProcedureIOExceptionReplicationExceptionprotected void serializeStateData(ProcedureStateSerializer serializer) throws IOException
ProcedureserializeStateData in class AbstractPeerProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState>serializer - stores the serializable stateIOExceptionprotected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException
ProceduredeserializeStateData in class AbstractPeerProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState>serializer - contains the serialized stateIOExceptionCopyright © 2007–2021 The Apache Software Foundation. All rights reserved.