@InterfaceAudience.Private public class SplitTableRegionProcedure extends AbstractStateMachineRegionProcedure<MasterProcedureProtos.SplitTableRegionState>
Throws exception on construction if determines context hostile to spllt (cluster going down or master is shutting down or table is disabled).
StateMachineProcedure.FlowProcedure.LockStateTableProcedureInterface.TableOperationTypestateCountNO_PROC_ID, NO_TIMEOUT| Constructor and Description |
|---|
SplitTableRegionProcedure() |
SplitTableRegionProcedure(MasterProcedureEnv env,
RegionInfo regionToSplit,
byte[] splitRow) |
acquireLock, checkTableModifiable, getRegion, getTableName, holdLock, releaseLock, setFailure, setRegioncheckOnline, 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 SplitTableRegionProcedure()
public SplitTableRegionProcedure(MasterProcedureEnv env, RegionInfo regionToSplit, byte[] splitRow) throws IOException
IOExceptionprotected StateMachineProcedure.Flow executeFromState(MasterProcedureEnv env, MasterProcedureProtos.SplitTableRegionState state) throws InterruptedException
executeFromState in class StateMachineProcedure<MasterProcedureEnv,MasterProcedureProtos.SplitTableRegionState>InterruptedExceptionprotected void rollbackState(MasterProcedureEnv env, MasterProcedureProtos.SplitTableRegionState state) throws IOException, InterruptedException
SplitTableRegionProcedure, an AssignProcedure is asynchronously
submitted for parent region to be split (rollback doesn't wait on the completion of the
AssignProcedure) . This can be improved by changing rollback() to support sub-procedures.
See HBASE-19851 for details.rollbackState in class StateMachineProcedure<MasterProcedureEnv,MasterProcedureProtos.SplitTableRegionState>IOExceptionInterruptedExceptionprotected boolean isRollbackSupported(MasterProcedureProtos.SplitTableRegionState state)
protected MasterProcedureProtos.SplitTableRegionState getState(int stateId)
getState in class StateMachineProcedure<MasterProcedureEnv,MasterProcedureProtos.SplitTableRegionState>protected int getStateId(MasterProcedureProtos.SplitTableRegionState state)
getStateId in class StateMachineProcedure<MasterProcedureEnv,MasterProcedureProtos.SplitTableRegionState>protected MasterProcedureProtos.SplitTableRegionState getInitialState()
getInitialState in class StateMachineProcedure<MasterProcedureEnv,MasterProcedureProtos.SplitTableRegionState>protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException
serializeStateData in class AbstractStateMachineRegionProcedure<MasterProcedureProtos.SplitTableRegionState>IOExceptionprotected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException
deserializeStateData in class AbstractStateMachineRegionProcedure<MasterProcedureProtos.SplitTableRegionState>IOExceptionpublic void toStringClassDetails(StringBuilder sb)
public TableProcedureInterface.TableOperationType getTableOperationType()
TableProcedureInterfacegetTableOperationType in interface TableProcedureInterfacegetTableOperationType in class AbstractStateMachineRegionProcedure<MasterProcedureProtos.SplitTableRegionState>protected ProcedureMetrics getProcedureMetrics(MasterProcedureEnv env)
getProcedureMetrics in class Procedure<MasterProcedureEnv>public boolean prepareSplitRegion(MasterProcedureEnv env) throws IOException
env - MasterProcedureEnvIOExceptionpublic void createDaughterRegions(MasterProcedureEnv env) throws IOException
env - MasterProcedureEnvIOExceptionprotected boolean abort(MasterProcedureEnv env)
abort in class StateMachineProcedure<MasterProcedureEnv,MasterProcedureProtos.SplitTableRegionState>Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.