public class GCMergedRegionsProcedure extends AbstractStateMachineTableProcedure<GCMergedRegionsState>
This is a Table Procedure. We take a read lock on the Table. We do NOT keep a lock for the life of this procedure. The subprocedures take locks on the Regions they are purging.
TableProcedureInterface.TableOperationType
Constructor and Description |
---|
GCMergedRegionsProcedure() |
GCMergedRegionsProcedure(MasterProcedureEnv env,
RegionInfo mergedChild,
RegionInfo father,
RegionInfo mother) |
Modifier and Type | Method and Description |
---|---|
protected void |
deserializeStateData(ProcedureStateSerializer serializer) |
protected Flow |
executeFromState(MasterProcedureEnv env,
GCMergedRegionsState state) |
protected GCMergedRegionsState |
getInitialState() |
protected GCMergedRegionsState |
getState(int stateId) |
protected int |
getStateId(GCMergedRegionsState state) |
TableName |
getTableName() |
TableProcedureInterface.TableOperationType |
getTableOperationType()
Given an operation type we can take decisions about what to do with pending operations.
|
protected void |
rollbackState(MasterProcedureEnv env,
GCMergedRegionsState state) |
protected void |
serializeStateData(ProcedureStateSerializer serializer) |
void |
toStringClassDetails(java.lang.StringBuilder sb) |
acquireLock, checkOnline, checkTableModifiable, getRegionDir, getUser, preflightChecks, releaseLock, releaseSyncLatch, setUser
public GCMergedRegionsProcedure(MasterProcedureEnv env, RegionInfo mergedChild, RegionInfo father, RegionInfo mother)
public GCMergedRegionsProcedure()
public TableProcedureInterface.TableOperationType getTableOperationType()
TableProcedureInterface
getTableOperationType
in interface TableProcedureInterface
getTableOperationType
in class AbstractStateMachineTableProcedure<GCMergedRegionsState>
protected Flow executeFromState(MasterProcedureEnv env, GCMergedRegionsState state) throws ProcedureSuspendedException, ProcedureYieldException, java.lang.InterruptedException
ProcedureSuspendedException
ProcedureYieldException
java.lang.InterruptedException
protected void rollbackState(MasterProcedureEnv env, GCMergedRegionsState state) throws java.io.IOException, java.lang.InterruptedException
java.io.IOException
java.lang.InterruptedException
protected GCMergedRegionsState getState(int stateId)
protected int getStateId(GCMergedRegionsState state)
protected GCMergedRegionsState getInitialState()
protected void serializeStateData(ProcedureStateSerializer serializer) throws java.io.IOException
java.io.IOException
protected void deserializeStateData(ProcedureStateSerializer serializer) throws java.io.IOException
java.io.IOException
public void toStringClassDetails(java.lang.StringBuilder sb)
toStringClassDetails
in class AbstractStateMachineTableProcedure<GCMergedRegionsState>
public TableName getTableName()
getTableName
in interface TableProcedureInterface
getTableName
in class AbstractStateMachineTableProcedure<GCMergedRegionsState>