public class GCRegionProcedure extends AbstractStateMachineRegionProcedure<GCRegionState>
This is a Region StateMachine Procedure. We take a read lock on the Table and then exclusive on the Region.
TableProcedureInterface.TableOperationType
Constructor and Description |
---|
GCRegionProcedure() |
GCRegionProcedure(MasterProcedureEnv env,
RegionInfo hri) |
Modifier and Type | Method and Description |
---|---|
protected org.apache.hadoop.hbase.procedure2.Procedure.LockState |
acquireLock(MasterProcedureEnv env) |
protected void |
deserializeStateData(ProcedureStateSerializer serializer) |
protected Flow |
executeFromState(MasterProcedureEnv env,
GCRegionState state) |
protected GCRegionState |
getInitialState() |
protected GCRegionState |
getState(int stateId) |
protected int |
getStateId(GCRegionState state) |
TableProcedureInterface.TableOperationType |
getTableOperationType()
Given an operation type we can take decisions about what to do with pending operations.
|
protected void |
rollbackState(MasterProcedureEnv env,
GCRegionState state) |
protected void |
serializeStateData(ProcedureStateSerializer serializer) |
checkTableModifiable, getRegion, getTableName, hasLock, holdLock, releaseLock, setFailure, setRegion, toStringClassDetails
checkOnline, getRegionDir, getUser, preflightChecks, releaseSyncLatch, setUser
public GCRegionProcedure(MasterProcedureEnv env, RegionInfo hri)
public GCRegionProcedure()
public TableProcedureInterface.TableOperationType getTableOperationType()
TableProcedureInterface
getTableOperationType
in interface TableProcedureInterface
getTableOperationType
in class AbstractStateMachineRegionProcedure<GCRegionState>
protected Flow executeFromState(MasterProcedureEnv env, GCRegionState state) throws ProcedureSuspendedException, ProcedureYieldException, java.lang.InterruptedException
ProcedureSuspendedException
ProcedureYieldException
java.lang.InterruptedException
protected void rollbackState(MasterProcedureEnv env, GCRegionState state) throws java.io.IOException, java.lang.InterruptedException
java.io.IOException
java.lang.InterruptedException
protected GCRegionState getState(int stateId)
protected int getStateId(GCRegionState state)
protected GCRegionState getInitialState()
protected void serializeStateData(ProcedureStateSerializer serializer) throws java.io.IOException
serializeStateData
in class AbstractStateMachineRegionProcedure<GCRegionState>
java.io.IOException
protected void deserializeStateData(ProcedureStateSerializer serializer) throws java.io.IOException
deserializeStateData
in class AbstractStateMachineRegionProcedure<GCRegionState>
java.io.IOException
protected org.apache.hadoop.hbase.procedure2.Procedure.LockState acquireLock(MasterProcedureEnv env)
acquireLock
in class AbstractStateMachineRegionProcedure<GCRegionState>