@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).
org.apache.hadoop.hbase.procedure2.StateMachineProcedure.Floworg.apache.hadoop.hbase.procedure2.Procedure.LockStateTableProcedureInterface.TableOperationType| Constructor and Description |
|---|
MergeTableRegionsProcedure() |
MergeTableRegionsProcedure(MasterProcedureEnv env,
org.apache.hadoop.hbase.client.RegionInfo[] regionsToMerge,
boolean forcible) |
MergeTableRegionsProcedure(MasterProcedureEnv env,
org.apache.hadoop.hbase.client.RegionInfo regionToMergeA,
org.apache.hadoop.hbase.client.RegionInfo regionToMergeB) |
MergeTableRegionsProcedure(MasterProcedureEnv env,
org.apache.hadoop.hbase.client.RegionInfo regionToMergeA,
org.apache.hadoop.hbase.client.RegionInfo regionToMergeB,
boolean forcible) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
abort(MasterProcedureEnv env) |
protected org.apache.hadoop.hbase.procedure2.Procedure.LockState |
acquireLock(MasterProcedureEnv env) |
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.MergeTableRegionsState state) |
protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState |
getInitialState() |
org.apache.hadoop.hbase.client.RegionInfo |
getMergedRegion() |
protected org.apache.hadoop.hbase.procedure2.ProcedureMetrics |
getProcedureMetrics(MasterProcedureEnv env) |
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) |
org.apache.hadoop.hbase.TableName |
getTableName() |
TableProcedureInterface.TableOperationType |
getTableOperationType()
Given an operation type we can take decisions about what to do with pending operations.
|
protected boolean |
holdLock(MasterProcedureEnv env) |
protected boolean |
isRollbackSupported(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState state) |
protected void |
releaseLock(MasterProcedureEnv env) |
protected void |
rollbackState(MasterProcedureEnv env,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState state)
To rollback
MergeTableRegionsProcedure, two AssignProcedures are asynchronously
submitted for each region to be merged (rollback doesn't wait on the completion of the
AssignProcedures) . |
protected void |
serializeStateData(org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer serializer) |
void |
setRegionStateToMerging(MasterProcedureEnv env)
Set the region states to MERGING state
|
void |
toStringClassDetails(StringBuilder sb) |
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, org.apache.hadoop.hbase.client.RegionInfo regionToMergeA, org.apache.hadoop.hbase.client.RegionInfo regionToMergeB) throws IOException
IOExceptionpublic MergeTableRegionsProcedure(MasterProcedureEnv env, org.apache.hadoop.hbase.client.RegionInfo regionToMergeA, org.apache.hadoop.hbase.client.RegionInfo regionToMergeB, boolean forcible) throws IOException
IOExceptionpublic MergeTableRegionsProcedure(MasterProcedureEnv env, org.apache.hadoop.hbase.client.RegionInfo[] regionsToMerge, boolean forcible) throws IOException
IOExceptionprotected org.apache.hadoop.hbase.procedure2.StateMachineProcedure.Flow executeFromState(MasterProcedureEnv env, org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState state)
executeFromState in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>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.rollbackState in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>IOExceptionprotected boolean isRollbackSupported(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState state)
isRollbackSupported in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState getState(int stateId)
getState in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>protected int getStateId(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState state)
getStateId in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState getInitialState()
getInitialState in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>protected void serializeStateData(org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer serializer)
throws IOException
serializeStateData in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>IOExceptionprotected void deserializeStateData(org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer serializer)
throws IOException
deserializeStateData in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>IOExceptionpublic void toStringClassDetails(StringBuilder sb)
toStringClassDetails in class AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>protected org.apache.hadoop.hbase.procedure2.Procedure.LockState acquireLock(MasterProcedureEnv env)
acquireLock in class AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>protected void releaseLock(MasterProcedureEnv env)
releaseLock in class AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>protected boolean holdLock(MasterProcedureEnv env)
holdLock in class org.apache.hadoop.hbase.procedure2.Procedure<MasterProcedureEnv>public org.apache.hadoop.hbase.TableName getTableName()
getTableName in interface TableProcedureInterfacegetTableName in class AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>public TableProcedureInterface.TableOperationType getTableOperationType()
TableProcedureInterfacegetTableOperationType in interface TableProcedureInterfacegetTableOperationType in class AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>protected org.apache.hadoop.hbase.procedure2.ProcedureMetrics getProcedureMetrics(MasterProcedureEnv env)
getProcedureMetrics in class org.apache.hadoop.hbase.procedure2.Procedure<MasterProcedureEnv>public void setRegionStateToMerging(MasterProcedureEnv env)
env - MasterProcedureEnvpublic org.apache.hadoop.hbase.client.RegionInfo getMergedRegion()
protected boolean abort(MasterProcedureEnv env)
abort in class org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.MergeTableRegionsState>Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.