@InterfaceAudience.Private public class MergeTableRegionsProcedure extends AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>
Throws exception on construction if determines context hostile to merge (cluster going down or master is shutting down or table is disabled).
StateMachineProcedure.FlowProcedure.LockStateTableProcedureInterface.TableOperationTypestateCountNO_PROC_ID, NO_TIMEOUT| 构造器和说明 |
|---|
MergeTableRegionsProcedure() |
MergeTableRegionsProcedure(MasterProcedureEnv env,
RegionInfo[] regionsToMerge,
boolean forcible) |
MergeTableRegionsProcedure(MasterProcedureEnv env,
RegionInfo regionToMergeA,
RegionInfo regionToMergeB) |
MergeTableRegionsProcedure(MasterProcedureEnv env,
RegionInfo regionToMergeA,
RegionInfo regionToMergeB,
boolean forcible) |
checkOnline, checkTableModifiable, getUser, getWALRegionDir, preflightChecks, releaseSyncLatch, setUser, waitInitializedaddChildProcedure, execute, failIfAborted, getCurrentState, getCurrentStateId, getCycles, isEofState, isYieldAfterExecutionStep, isYieldBeforeExecuteFromState, rollback, setNextState, toStringStateaddStackIndex, afterReplay, beforeReplay, bypass, compareTo, completionCleanup, doExecute, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, 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, setTimeoutFailure, shouldWaitClientAck, skipPersistence, toString, toStringClass, toStringDetails, toStringSimpleSB, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecutedpublic MergeTableRegionsProcedure()
public MergeTableRegionsProcedure(MasterProcedureEnv env, RegionInfo regionToMergeA, RegionInfo regionToMergeB) throws IOException
IOExceptionpublic MergeTableRegionsProcedure(MasterProcedureEnv env, RegionInfo regionToMergeA, RegionInfo regionToMergeB, boolean forcible) throws IOException
IOExceptionpublic MergeTableRegionsProcedure(MasterProcedureEnv env, RegionInfo[] regionsToMerge, boolean forcible) throws IOException
IOExceptionprotected StateMachineProcedure.Flow executeFromState(MasterProcedureEnv env, org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState state)
protected void rollbackState(MasterProcedureEnv env, org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState state) throws IOException
MergeTableRegionsProcedure, two AssignProcedures are asynchronously
submitted for each region to be merged (rollback doesn't wait on the completion of the
AssignProcedures) . This can be improved by changing rollback() to support sub-procedures.
See HBASE-19851 for details.protected boolean isRollbackSupported(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState state)
protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState getState(int stateId)
protected int getStateId(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState state)
protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState getInitialState()
protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException
protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException
public void toStringClassDetails(StringBuilder sb)
protected Procedure.LockState acquireLock(MasterProcedureEnv env)
protected void releaseLock(MasterProcedureEnv env)
protected boolean holdLock(MasterProcedureEnv env)
holdLock 在类中 Procedure<MasterProcedureEnv>public TableName getTableName()
getTableName 在接口中 TableProcedureInterfacegetTableName 在类中 AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>public TableProcedureInterface.TableOperationType getTableOperationType()
TableProcedureInterfacegetTableOperationType 在接口中 TableProcedureInterfacegetTableOperationType 在类中 AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>protected ProcedureMetrics getProcedureMetrics(MasterProcedureEnv env)
public void setRegionStateToMerging(MasterProcedureEnv env)
env - MasterProcedureEnvpublic RegionInfo getMergedRegion()
protected boolean abort(MasterProcedureEnv env)
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.