@InterfaceAudience.Private public class SplitTableRegionProcedure extends AbstractStateMachineRegionProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState>
Throws exception on construction if determines context hostile to spllt (cluster going down or master is shutting down or table is disabled).
org.apache.hadoop.hbase.procedure2.StateMachineProcedure.Floworg.apache.hadoop.hbase.procedure2.Procedure.LockStateTableProcedureInterface.TableOperationType| Constructor and Description |
|---|
SplitTableRegionProcedure() |
SplitTableRegionProcedure(MasterProcedureEnv env,
org.apache.hadoop.hbase.client.RegionInfo regionToSplit,
byte[] splitRow) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
abort(MasterProcedureEnv env) |
void |
createDaughterRegions(MasterProcedureEnv env)
Create daughter regions
|
protected void |
deserializeStateData(org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer serializer) |
protected org.apache.hadoop.hbase.procedure2.StateMachineProcedure.Flow |
executeFromState(MasterProcedureEnv env,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState state) |
protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState |
getInitialState() |
protected org.apache.hadoop.hbase.procedure2.ProcedureMetrics |
getProcedureMetrics(MasterProcedureEnv env) |
protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState |
getState(int stateId) |
protected int |
getStateId(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState state) |
TableProcedureInterface.TableOperationType |
getTableOperationType()
Given an operation type we can take decisions about what to do with pending operations.
|
protected boolean |
isRollbackSupported(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState state) |
boolean |
prepareSplitRegion(MasterProcedureEnv env)
Prepare to Split region.
|
protected void |
rollbackState(MasterProcedureEnv env,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState state)
To rollback
SplitTableRegionProcedure, an AssignProcedure is asynchronously
submitted for parent region to be split (rollback doesn't wait on the completion of the
AssignProcedure) . |
protected void |
serializeStateData(org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer serializer) |
void |
toStringClassDetails(StringBuilder sb) |
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, org.apache.hadoop.hbase.client.RegionInfo regionToSplit, byte[] splitRow) throws IOException
IOExceptionprotected org.apache.hadoop.hbase.procedure2.StateMachineProcedure.Flow executeFromState(MasterProcedureEnv env, org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState state) throws InterruptedException
executeFromState in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState>InterruptedExceptionprotected void rollbackState(MasterProcedureEnv env, org.apache.hadoop.hbase.shaded.protobuf.generated.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 org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState>IOExceptionInterruptedExceptionprotected boolean isRollbackSupported(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState state)
isRollbackSupported in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState>protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState getState(int stateId)
getState in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState>protected int getStateId(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState state)
getStateId in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState>protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState getInitialState()
getInitialState in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState>protected void serializeStateData(org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer serializer)
throws IOException
serializeStateData in class AbstractStateMachineRegionProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState>IOExceptionprotected void deserializeStateData(org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer serializer)
throws IOException
deserializeStateData in class AbstractStateMachineRegionProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState>IOExceptionpublic void toStringClassDetails(StringBuilder sb)
toStringClassDetails in class AbstractStateMachineRegionProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState>public TableProcedureInterface.TableOperationType getTableOperationType()
TableProcedureInterfacegetTableOperationType in interface TableProcedureInterfacegetTableOperationType in class AbstractStateMachineRegionProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState>protected org.apache.hadoop.hbase.procedure2.ProcedureMetrics getProcedureMetrics(MasterProcedureEnv env)
getProcedureMetrics in class org.apache.hadoop.hbase.procedure2.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 org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.SplitTableRegionState>Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.