@InterfaceAudience.Private public class DisableTableProcedure extends StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState> implements TableProcedureInterface
StateMachineProcedure.FlowTableProcedureInterface.TableOperationType| Constructor and Description |
|---|
DisableTableProcedure() |
DisableTableProcedure(MasterProcedureEnv env,
TableName tableName,
boolean skipTableStateCheck)
Constructor
|
DisableTableProcedure(MasterProcedureEnv env,
TableName tableName,
boolean skipTableStateCheck,
ProcedurePrepareLatch syncLatch)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
abort(MasterProcedureEnv env)
The abort() call is asynchronous and each procedure must decide how to deal
with that, if they want to be abortable.
|
protected boolean |
acquireLock(MasterProcedureEnv env)
The user should override this method, and try to take a lock if necessary.
|
void |
deserializeStateData(InputStream stream)
Called on store load to allow the user to decode the previously serialized
state.
|
protected StateMachineProcedure.Flow |
executeFromState(MasterProcedureEnv env,
org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState state)
called to perform a single step of the specified 'state' of the procedure
|
protected org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState |
getInitialState()
Return the initial state object that will be used for the first call to executeFromState().
|
protected org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState |
getState(int stateId)
Convert an ordinal (or state id) to an Enum (or more descriptive) state object.
|
protected int |
getStateId(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState state)
Convert the Enum (or more descriptive) state object to an ordinal (or state id).
|
TableName |
getTableName() |
TableProcedureInterface.TableOperationType |
getTableOperationType()
Given an operation type we can take decisions about what to do with pending operations.
|
protected static org.apache.hadoop.hbase.master.procedure.DisableTableProcedure.MarkRegionOfflineOpResult |
markRegionsOffline(MasterProcedureEnv env,
TableName tableName,
Boolean retryRequired)
Mark regions of the table offline with retries
|
protected void |
postDisable(MasterProcedureEnv env,
org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState state)
Action after disabling table.
|
protected void |
preDisable(MasterProcedureEnv env,
org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState state)
Action before disabling table.
|
protected void |
releaseLock(MasterProcedureEnv env)
The user should override this method, and release lock if necessary.
|
protected void |
rollbackState(MasterProcedureEnv env,
org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState state)
called to perform the rollback of the specified state
|
void |
serializeStateData(OutputStream stream)
The user-level code of the procedure may have some state to
persist (e.g.
|
protected void |
setNextState(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState state)
Set the next state for the procedure.
|
protected static void |
setTableStateToDisabled(MasterProcedureEnv env,
TableName tableName)
Mark table state to Disabled
|
protected static void |
setTableStateToDisabling(MasterProcedureEnv env,
TableName tableName)
Mark table state to Disabling
|
void |
toStringClassDetails(StringBuilder sb)
Extend the toString() information with the procedure details
e.g.
|
addChildProcedure, execute, isYieldAfterExecutionStep, isYieldBeforeExecuteFromState, rollback, toStringStateaddStackIndex, beforeReplay, childrenCountDown, compareTo, completionCleanup, convert, convert, createProcedureInfo, doExecute, doRollback, elapsedTime, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getProcIdHashCode, getResult, getRootProcedureId, getStackIndexes, getStartTime, getState, getTimeout, getTimeRemaining, hasChildren, hasException, hasOwner, hasParent, hasTimeout, incChildrenLatch, isFailed, isFinished, isRunnable, isSuccess, isWaiting, newInstance, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setNonceKey, setOwner, setParentProcId, setProcId, setResult, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, shouldWaitClientAck, toString, toStringClass, toStringDetails, toStringSimpleSB, updateTimestamp, validateClass, wasExecutedpublic DisableTableProcedure()
public DisableTableProcedure(MasterProcedureEnv env, TableName tableName, boolean skipTableStateCheck)
env - MasterProcedureEnvtableName - the table to operate onskipTableStateCheck - whether to check table statepublic DisableTableProcedure(MasterProcedureEnv env, TableName tableName, boolean skipTableStateCheck, ProcedurePrepareLatch syncLatch)
env - MasterProcedureEnvtableName - the table to operate onskipTableStateCheck - whether to check table stateprotected StateMachineProcedure.Flow executeFromState(MasterProcedureEnv env, org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState state) throws InterruptedException
StateMachineProcedureexecuteFromState in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState>state - state to executeInterruptedExceptionprotected void rollbackState(MasterProcedureEnv env, org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState state) throws IOException
StateMachineProcedurerollbackState in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState>state - state to rollbackIOException - temporary failure, the rollback will retry laterprotected org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState getState(int stateId)
StateMachineProceduregetState in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState>stateId - the ordinal() of the state enum (or state id)protected int getStateId(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState state)
StateMachineProceduregetStateId in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState>state - the state enum objectprotected org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState getInitialState()
StateMachineProceduregetInitialState in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState>protected void setNextState(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState state)
StateMachineProceduresetNextState in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState>state - the state enum objectpublic boolean abort(MasterProcedureEnv env)
Procedureabort in class Procedure<MasterProcedureEnv>protected boolean acquireLock(MasterProcedureEnv env)
ProcedureacquireLock in class Procedure<MasterProcedureEnv>protected void releaseLock(MasterProcedureEnv env)
ProcedurereleaseLock in class Procedure<MasterProcedureEnv>public void serializeStateData(OutputStream stream) throws IOException
ProcedureserializeStateData in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState>stream - the stream that will contain the user serialized dataIOExceptionpublic void deserializeStateData(InputStream stream) throws IOException
ProceduredeserializeStateData in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState>stream - the stream that contains the user serialized dataIOExceptionpublic void toStringClassDetails(StringBuilder sb)
ProceduretoStringClassDetails in class Procedure<MasterProcedureEnv>sb - the string builder to use to append the proc specific informationpublic TableName getTableName()
getTableName in interface TableProcedureInterfacepublic TableProcedureInterface.TableOperationType getTableOperationType()
TableProcedureInterfacegetTableOperationType in interface TableProcedureInterfaceprotected void preDisable(MasterProcedureEnv env, org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState state) throws IOException, InterruptedException
env - MasterProcedureEnvstate - the procedure stateIOExceptionInterruptedExceptionprotected static void setTableStateToDisabling(MasterProcedureEnv env, TableName tableName) throws HBaseException, IOException
env - MasterProcedureEnvIOExceptionHBaseExceptionprotected static org.apache.hadoop.hbase.master.procedure.DisableTableProcedure.MarkRegionOfflineOpResult markRegionsOffline(MasterProcedureEnv env, TableName tableName, Boolean retryRequired) throws IOException
env - MasterProcedureEnvtableName - the target tableretryRequired - whether to retry if the first run failedIOExceptionprotected static void setTableStateToDisabled(MasterProcedureEnv env, TableName tableName) throws HBaseException, IOException
env - MasterProcedureEnvIOExceptionHBaseExceptionprotected void postDisable(MasterProcedureEnv env, org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.DisableTableState state) throws IOException, InterruptedException
env - MasterProcedureEnvstate - the procedure stateIOExceptionInterruptedExceptionCopyright © 2007–2019 The Apache Software Foundation. All rights reserved.