@InterfaceAudience.Private public class ReopenTableRegionsProcedure extends AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState>
StateMachineProcedure.Flow
Procedure.LockState
TableProcedureInterface.TableOperationType
Modifier and Type | Field and Description |
---|---|
private long |
batchesProcessed |
private List<HRegionLocation> |
currentRegionBatch |
private static org.slf4j.Logger |
LOG |
private static int |
MINIMUM_BATCH_SIZE_MAX |
static long |
PROGRESSIVE_BATCH_BACKOFF_MILLIS_DEFAULT |
static String |
PROGRESSIVE_BATCH_BACKOFF_MILLIS_KEY |
private static int |
PROGRESSIVE_BATCH_SIZE_MAX_DEFAULT_VALUE |
static int |
PROGRESSIVE_BATCH_SIZE_MAX_DISABLED |
static String |
PROGRESSIVE_BATCH_SIZE_MAX_KEY |
private List<byte[]> |
regionNames |
private List<HRegionLocation> |
regions |
private long |
regionsReopened |
private long |
reopenBatchBackoffMillis |
private int |
reopenBatchSize |
private int |
reopenBatchSizeMax |
private RetryCounter |
retryCounter |
private TableName |
tableName |
stateCount
NO_PROC_ID, NO_TIMEOUT
DUMMY_NAMESPACE_TABLE_NAME
Constructor and Description |
---|
ReopenTableRegionsProcedure() |
ReopenTableRegionsProcedure(TableName tableName) |
ReopenTableRegionsProcedure(TableName tableName,
List<byte[]> regionNames) |
ReopenTableRegionsProcedure(TableName tableName,
List<byte[]> regionNames,
long reopenBatchBackoffMillis,
int reopenBatchSizeMax) |
ReopenTableRegionsProcedure(TableName tableName,
long reopenBatchBackoffMillis,
int reopenBatchSizeMax) |
Modifier and Type | Method and Description |
---|---|
private boolean |
canSchedule(MasterProcedureEnv env,
HRegionLocation loc) |
protected void |
deserializeStateData(ProcedureStateSerializer serializer)
Called on store load to allow the user to decode the previously serialized state.
|
protected StateMachineProcedure.Flow |
executeFromState(MasterProcedureEnv env,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState state)
called to perform a single step of the specified 'state' of the procedure
|
private List<HRegionLocation> |
filterReopened(MasterProcedureEnv env,
List<HRegionLocation> regionsToCheck) |
long |
getBatchesProcessed() |
protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState |
getInitialState()
Return the initial state object that will be used for the first call to executeFromState().
|
private List<HRegionLocation> |
getRegionLocationsForReopen(List<HRegionLocation> tableRegionsForReopen) |
long |
getRegionsReopened() |
protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState |
getState(int stateId)
Convert an ordinal (or state id) to an Enum (or more descriptive) state object.
|
protected int |
getStateId(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState state)
Convert the Enum (or more descriptive) state object to an ordinal (or state id).
|
TableName |
getTableName()
Returns the name of the table the procedure is operating on
|
TableProcedureInterface.TableOperationType |
getTableOperationType()
Given an operation type we can take decisions about what to do with pending operations.
|
protected int |
progressBatchSize() |
private StateMachineProcedure.Flow |
reopenIfSchedulable(MasterProcedureEnv env,
List<HRegionLocation> regionsToReopen,
boolean shouldBatchBackoff) |
protected void |
rollbackState(MasterProcedureEnv env,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState state)
called to perform the rollback of the specified state
|
protected void |
serializeStateData(ProcedureStateSerializer serializer)
The user-level code of the procedure may have some state to persist (e.g.
|
private void |
setBackoffState(long millis) |
protected boolean |
setTimeoutFailure(MasterProcedureEnv env)
At end of timeout, wake ourselves up so we run again.
|
acquireLock, checkOnline, checkTableModifiable, getUser, getWALRegionDir, isTableEnabled, preflightChecks, releaseLock, releaseSyncLatch, setUser, toStringClassDetails, waitInitialized
abort, addChildProcedure, execute, failIfAborted, getCurrentState, getCurrentStateId, getCycles, isEofState, isRollbackSupported, isRollbackSupported, isYieldAfterExecutionStep, isYieldBeforeExecuteFromState, rollback, setNextState, toStringState
addStackIndex, afterReplay, beforeReplay, bypass, compareTo, completionCleanup, doExecute, doRollback, elapsedTime, getChildrenLatch, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcedureMetrics, getProcId, getProcIdHashCode, getProcName, getResult, getRootProcedureId, getRootProcId, getStackIndexes, getState, getSubmittedTime, getTimeout, getTimeoutTimestamp, hasChildren, hasException, hasLock, hasOwner, hasParent, hasTimeout, haveSameParent, holdLock, incChildrenLatch, isBypass, isFailed, isFinished, isInitializing, isLockedWhenLoading, isRunnable, isSuccess, isWaiting, removeStackIndex, setAbortFailure, setChildrenLatch, setExecuted, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, shouldWaitClientAck, skipPersistence, suspend, toString, toStringClass, toStringDetails, toStringSimpleSB, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecuted
private static final org.slf4j.Logger LOG
public static final String PROGRESSIVE_BATCH_BACKOFF_MILLIS_KEY
public static final long PROGRESSIVE_BATCH_BACKOFF_MILLIS_DEFAULT
public static final String PROGRESSIVE_BATCH_SIZE_MAX_KEY
public static final int PROGRESSIVE_BATCH_SIZE_MAX_DISABLED
private static final int PROGRESSIVE_BATCH_SIZE_MAX_DEFAULT_VALUE
private static final int MINIMUM_BATCH_SIZE_MAX
private List<byte[]> regionNames
private List<HRegionLocation> regions
private List<HRegionLocation> currentRegionBatch
private RetryCounter retryCounter
private long reopenBatchBackoffMillis
private int reopenBatchSize
private int reopenBatchSizeMax
private long regionsReopened
private long batchesProcessed
public ReopenTableRegionsProcedure()
public ReopenTableRegionsProcedure(TableName tableName)
public ReopenTableRegionsProcedure(TableName tableName, List<byte[]> regionNames)
public ReopenTableRegionsProcedure(TableName tableName, long reopenBatchBackoffMillis, int reopenBatchSizeMax)
public ReopenTableRegionsProcedure(TableName tableName, List<byte[]> regionNames, long reopenBatchBackoffMillis, int reopenBatchSizeMax)
public TableName getTableName()
TableProcedureInterface
getTableName
in interface TableProcedureInterface
getTableName
in class AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState>
public TableProcedureInterface.TableOperationType getTableOperationType()
TableProcedureInterface
getTableOperationType
in interface TableProcedureInterface
getTableOperationType
in class AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState>
public long getRegionsReopened()
public long getBatchesProcessed()
protected int progressBatchSize()
private boolean canSchedule(MasterProcedureEnv env, HRegionLocation loc)
protected StateMachineProcedure.Flow executeFromState(MasterProcedureEnv env, org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState state) throws ProcedureSuspendedException, ProcedureYieldException, InterruptedException
StateMachineProcedure
executeFromState
in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState>
state
- state to executeProcedureSuspendedException
ProcedureYieldException
InterruptedException
private List<HRegionLocation> filterReopened(MasterProcedureEnv env, List<HRegionLocation> regionsToCheck)
private StateMachineProcedure.Flow reopenIfSchedulable(MasterProcedureEnv env, List<HRegionLocation> regionsToReopen, boolean shouldBatchBackoff) throws ProcedureSuspendedException
ProcedureSuspendedException
private void setBackoffState(long millis)
private List<HRegionLocation> getRegionLocationsForReopen(List<HRegionLocation> tableRegionsForReopen)
protected boolean setTimeoutFailure(MasterProcedureEnv env)
setTimeoutFailure
in class Procedure<MasterProcedureEnv>
protected void rollbackState(MasterProcedureEnv env, org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState state) throws IOException, InterruptedException
StateMachineProcedure
rollbackState
in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState>
state
- state to rollbackIOException
- temporary failure, the rollback will retry laterInterruptedException
protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState getState(int stateId)
StateMachineProcedure
getState
in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState>
stateId
- the ordinal() of the state enum (or state id)protected int getStateId(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState state)
StateMachineProcedure
getStateId
in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState>
state
- the state enum objectprotected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState getInitialState()
StateMachineProcedure
getInitialState
in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState>
protected void serializeStateData(ProcedureStateSerializer serializer) throws IOException
Procedure
serializeStateData
in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState>
serializer
- stores the serializable stateIOException
protected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException
Procedure
deserializeStateData
in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.ReopenTableRegionsState>
serializer
- contains the serialized stateIOException
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.