@InterfaceAudience.Private public class TruncateTableProcedure extends StateMachineProcedure<MasterProcedureEnv,MasterProcedureProtos.TruncateTableState> implements TableProcedureInterface
StateMachineProcedure.FlowTableProcedureInterface.TableOperationType| Constructor and Description | 
|---|
TruncateTableProcedure()  | 
TruncateTableProcedure(MasterProcedureEnv env,
                      TableName tableName,
                      boolean preserveSplits)  | 
| 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,
                MasterProcedureProtos.TruncateTableState state)
called to perform a single step of the specified 'state' of the procedure 
 | 
protected MasterProcedureProtos.TruncateTableState | 
getInitialState()
Return the initial state object that will be used for the first call to executeFromState(). 
 | 
protected MasterProcedureProtos.TruncateTableState | 
getState(int stateId)
Convert an ordinal (or state id) to an Enum (or more descriptive) state object. 
 | 
protected int | 
getStateId(MasterProcedureProtos.TruncateTableState 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 void | 
releaseLock(MasterProcedureEnv env)
The user should override this method, and release lock if necessary. 
 | 
protected void | 
rollbackState(MasterProcedureEnv env,
             MasterProcedureProtos.TruncateTableState 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. 
 | 
void | 
toStringClassDetails(StringBuilder sb)
Extend the toString() information with the procedure details
 e.g. 
 | 
execute, rollback, setNextStateaddStackIndex, beforeReplay, childrenCountDown, compareTo, completionCleanup, convert, convert, createProcedureInfo, doExecute, doRollback, elapsedTime, getException, getLastUpdate, getNonceKey, getOwner, getParentProcId, getProcId, getResult, getRootProcedureId, getStackIndexes, getStartTime, getState, getTimeout, getTimeRemaining, hasException, hasOwner, hasParent, hasTimeout, incChildrenLatch, isFailed, isFinished, isSuccess, isWaiting, newInstance, removeStackIndex, setAbortFailure, setChildrenLatch, setFailure, setFailure, setNonceKey, setOwner, setParentProcId, setProcId, setResult, setStackIndexes, setStartTime, setState, setTimeout, setTimeoutFailure, toString, toStringClass, toStringDetails, toStringSimpleSB, updateTimestamp, validateClass, wasExecutedpublic TruncateTableProcedure()
public TruncateTableProcedure(MasterProcedureEnv env, TableName tableName, boolean preserveSplits) throws IOException
IOExceptionprotected StateMachineProcedure.Flow executeFromState(MasterProcedureEnv env, MasterProcedureProtos.TruncateTableState state)
StateMachineProcedureexecuteFromState in class StateMachineProcedure<MasterProcedureEnv,MasterProcedureProtos.TruncateTableState>state - state to executeprotected void rollbackState(MasterProcedureEnv env, MasterProcedureProtos.TruncateTableState state)
StateMachineProcedurerollbackState in class StateMachineProcedure<MasterProcedureEnv,MasterProcedureProtos.TruncateTableState>state - state to rollbackprotected MasterProcedureProtos.TruncateTableState getState(int stateId)
StateMachineProceduregetState in class StateMachineProcedure<MasterProcedureEnv,MasterProcedureProtos.TruncateTableState>stateId - the ordinal() of the state enum (or state id)protected int getStateId(MasterProcedureProtos.TruncateTableState state)
StateMachineProceduregetStateId in class StateMachineProcedure<MasterProcedureEnv,MasterProcedureProtos.TruncateTableState>state - the state enum objectprotected MasterProcedureProtos.TruncateTableState getInitialState()
StateMachineProceduregetInitialState in class StateMachineProcedure<MasterProcedureEnv,MasterProcedureProtos.TruncateTableState>public TableName getTableName()
getTableName in interface TableProcedureInterfacepublic TableProcedureInterface.TableOperationType getTableOperationType()
TableProcedureInterfacegetTableOperationType in interface TableProcedureInterfacepublic boolean abort(MasterProcedureEnv env)
Procedureabort in class Procedure<MasterProcedureEnv>env - the environment passed to the ProcedureExecutorprotected boolean acquireLock(MasterProcedureEnv env)
ProcedureacquireLock in class Procedure<MasterProcedureEnv>env - the environment passed to the ProcedureExecutorprotected void releaseLock(MasterProcedureEnv env)
ProcedurereleaseLock in class Procedure<MasterProcedureEnv>env - the environment passed to the ProcedureExecutorpublic void toStringClassDetails(StringBuilder sb)
ProceduretoStringClassDetails in class Procedure<MasterProcedureEnv>sb - the string builder to use to append the proc specific informationpublic void serializeStateData(OutputStream stream) throws IOException
ProcedureserializeStateData in class StateMachineProcedure<MasterProcedureEnv,MasterProcedureProtos.TruncateTableState>stream - the stream that will contain the user serialized dataIOException - failure to stream datapublic void deserializeStateData(InputStream stream) throws IOException
ProceduredeserializeStateData in class StateMachineProcedure<MasterProcedureEnv,MasterProcedureProtos.TruncateTableState>stream - the stream that contains the user serialized dataIOException