@InterfaceAudience.Private public abstract class ModifyPeerProcedure extends AbstractPeerProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState>
org.apache.hadoop.hbase.procedure2.StateMachineProcedure.Floworg.apache.hadoop.hbase.procedure2.Procedure.LockStatePeerProcedureInterface.PeerOperationType| Modifier and Type | Field and Description |
|---|---|
protected static int |
SLEEP_INTERVAL_MS |
protected static int |
UPDATE_LAST_SEQ_ID_BATCH_SIZE |
latch, peerId| Modifier | Constructor and Description |
|---|---|
protected |
ModifyPeerProcedure() |
protected |
ModifyPeerProcedure(String peerId) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
enablePeer(MasterProcedureEnv env) |
protected boolean |
enablePeerBeforeFinish()
The implementation class should override this method if the procedure may enter the serial
related states.
|
protected org.apache.hadoop.hbase.procedure2.StateMachineProcedure.Flow |
executeFromState(MasterProcedureEnv env,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState state) |
protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState |
getInitialState() |
protected org.apache.hadoop.hbase.replication.ReplicationPeerConfig |
getNewPeerConfig() |
protected org.apache.hadoop.hbase.replication.ReplicationPeerConfig |
getOldPeerConfig() |
protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState |
getState(int stateId) |
protected int |
getStateId(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState state) |
protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState |
nextStateAfterRefresh()
Implementation class can override this method.
|
protected abstract void |
postPeerModification(MasterProcedureEnv env)
Called before we finish the procedure.
|
protected abstract void |
prePeerModification(MasterProcedureEnv env)
Called before we start the actual processing.
|
protected void |
reopenRegions(MasterProcedureEnv env) |
protected void |
rollbackState(MasterProcedureEnv env,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState state) |
protected void |
setLastPushedSequenceId(MasterProcedureEnv env,
org.apache.hadoop.hbase.replication.ReplicationPeerConfig peerConfig) |
protected void |
setLastPushedSequenceIdForTable(MasterProcedureEnv env,
org.apache.hadoop.hbase.TableName tableName,
Map<String,Long> lastSeqIds) |
protected boolean |
setTimeoutFailure(MasterProcedureEnv env) |
protected void |
updateLastPushedSequenceIdForSerialPeer(MasterProcedureEnv env) |
protected abstract void |
updatePeerStorage(MasterProcedureEnv env) |
acquireLock, deserializeStateData, getLatch, getPeerId, holdLock, releaseLock, serializeStateData, 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, wasExecutedclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetPeerOperationTypeprotected static final int UPDATE_LAST_SEQ_ID_BATCH_SIZE
protected static final int SLEEP_INTERVAL_MS
protected ModifyPeerProcedure()
protected ModifyPeerProcedure(String peerId)
protected abstract void prePeerModification(MasterProcedureEnv env) throws IOException, org.apache.hadoop.hbase.replication.ReplicationException
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.
IOExceptionorg.apache.hadoop.hbase.replication.ReplicationExceptionprotected abstract void updatePeerStorage(MasterProcedureEnv env) throws org.apache.hadoop.hbase.replication.ReplicationException
org.apache.hadoop.hbase.replication.ReplicationExceptionprotected abstract void postPeerModification(MasterProcedureEnv env) throws IOException, org.apache.hadoop.hbase.replication.ReplicationException
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.
IOExceptionorg.apache.hadoop.hbase.replication.ReplicationExceptionprotected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState nextStateAfterRefresh()
protected boolean enablePeerBeforeFinish()
protected org.apache.hadoop.hbase.replication.ReplicationPeerConfig getOldPeerConfig()
protected org.apache.hadoop.hbase.replication.ReplicationPeerConfig getNewPeerConfig()
protected void updateLastPushedSequenceIdForSerialPeer(MasterProcedureEnv env) throws IOException, org.apache.hadoop.hbase.replication.ReplicationException
IOExceptionorg.apache.hadoop.hbase.replication.ReplicationExceptionprotected void reopenRegions(MasterProcedureEnv env) throws IOException
IOExceptionprotected void enablePeer(MasterProcedureEnv env) throws org.apache.hadoop.hbase.replication.ReplicationException
org.apache.hadoop.hbase.replication.ReplicationExceptionprotected final void setLastPushedSequenceId(MasterProcedureEnv env, org.apache.hadoop.hbase.replication.ReplicationPeerConfig peerConfig) throws IOException, org.apache.hadoop.hbase.replication.ReplicationException
IOExceptionorg.apache.hadoop.hbase.replication.ReplicationExceptionprotected final void setLastPushedSequenceIdForTable(MasterProcedureEnv env, org.apache.hadoop.hbase.TableName tableName, Map<String,Long> lastSeqIds) throws IOException, org.apache.hadoop.hbase.replication.ReplicationException
IOExceptionorg.apache.hadoop.hbase.replication.ReplicationExceptionprotected boolean setTimeoutFailure(MasterProcedureEnv env)
setTimeoutFailure in class org.apache.hadoop.hbase.procedure2.Procedure<MasterProcedureEnv>protected org.apache.hadoop.hbase.procedure2.StateMachineProcedure.Flow executeFromState(MasterProcedureEnv env, org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState state) throws org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException
executeFromState in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState>org.apache.hadoop.hbase.procedure2.ProcedureSuspendedExceptionprotected void rollbackState(MasterProcedureEnv env, org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState state) throws IOException, InterruptedException
rollbackState in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState>IOExceptionInterruptedExceptionprotected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState getState(int stateId)
getState in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState>protected int getStateId(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState state)
getStateId in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState>protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState getInitialState()
getInitialState in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.PeerModificationState>Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.