@InterfaceAudience.Private public class CreateTableProcedure extends StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState> implements TableProcedureInterface
| Modifier and Type | Class and Description | 
|---|---|
protected static interface  | 
CreateTableProcedure.CreateHdfsRegions  | 
StateMachineProcedure.FlowTableProcedureInterface.TableOperationType| Constructor and Description | 
|---|
CreateTableProcedure()  | 
CreateTableProcedure(MasterProcedureEnv env,
                    HTableDescriptor hTableDescriptor,
                    HRegionInfo[] newRegions)  | 
CreateTableProcedure(MasterProcedureEnv env,
                    HTableDescriptor hTableDescriptor,
                    HRegionInfo[] newRegions,
                    ProcedurePrepareLatch syncLatch)  | 
| 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. 
 | 
protected static void | 
addRegionsToMeta(MasterProcedureEnv env,
                HTableDescriptor hTableDescriptor,
                List<HRegionInfo> regionInfos)
Add the specified set of regions to the hbase:meta table. 
 | 
protected static List<HRegionInfo> | 
addTableToMeta(MasterProcedureEnv env,
              HTableDescriptor hTableDescriptor,
              List<HRegionInfo> regions)  | 
protected static void | 
assignRegions(MasterProcedureEnv env,
             TableName tableName,
             List<HRegionInfo> regions)  | 
protected static List<HRegionInfo> | 
createFsLayout(MasterProcedureEnv env,
              HTableDescriptor hTableDescriptor,
              List<HRegionInfo> newRegions)  | 
protected static List<HRegionInfo> | 
createFsLayout(MasterProcedureEnv env,
              HTableDescriptor hTableDescriptor,
              List<HRegionInfo> newRegions,
              CreateTableProcedure.CreateHdfsRegions hdfsRegionHandler)  | 
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.CreateTableState state)
called to perform a single step of the specified 'state' of the procedure 
 | 
protected org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState | 
getInitialState()
Return the initial state object that will be used for the first call to executeFromState(). 
 | 
protected org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState | 
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.CreateTableState 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,
             org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState 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.CreateTableState state)
Set the next state for the procedure. 
 | 
protected boolean | 
shouldWaitClientAck(MasterProcedureEnv env)
By default, the executor will keep the procedure result around util
 the eviction TTL is expired. 
 | 
void | 
toStringClassDetails(StringBuilder sb)
Extend the toString() information with the procedure details
 e.g. 
 | 
protected static void | 
updateTableDescCache(MasterProcedureEnv env,
                    TableName tableName)  | 
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, toString, toStringClass, toStringDetails, toStringSimpleSB, updateTimestamp, validateClass, wasExecutedpublic CreateTableProcedure()
public CreateTableProcedure(MasterProcedureEnv env, HTableDescriptor hTableDescriptor, HRegionInfo[] newRegions)
public CreateTableProcedure(MasterProcedureEnv env, HTableDescriptor hTableDescriptor, HRegionInfo[] newRegions, ProcedurePrepareLatch syncLatch)
protected StateMachineProcedure.Flow executeFromState(MasterProcedureEnv env, org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState state) throws InterruptedException
StateMachineProcedureexecuteFromState in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState>state - state to executeInterruptedExceptionprotected void rollbackState(MasterProcedureEnv env, org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState state) throws IOException
StateMachineProcedurerollbackState in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState>state - state to rollbackIOException - temporary failure, the rollback will retry laterprotected org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState getState(int stateId)
StateMachineProceduregetState in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState>stateId - the ordinal() of the state enum (or state id)protected int getStateId(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState state)
StateMachineProceduregetStateId in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState>state - the state enum objectprotected org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState getInitialState()
StateMachineProceduregetInitialState in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState>protected void setNextState(org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState state)
StateMachineProceduresetNextState in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState>state - the state enum objectpublic TableName getTableName()
getTableName in interface TableProcedureInterfacepublic TableProcedureInterface.TableOperationType getTableOperationType()
TableProcedureInterfacegetTableOperationType in interface TableProcedureInterfacepublic boolean abort(MasterProcedureEnv env)
Procedureabort in class Procedure<MasterProcedureEnv>public 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,org.apache.hadoop.hbase.protobuf.generated.MasterProcedureProtos.CreateTableState>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.CreateTableState>stream - the stream that contains the user serialized dataIOExceptionprotected boolean acquireLock(MasterProcedureEnv env)
ProcedureacquireLock in class Procedure<MasterProcedureEnv>protected void releaseLock(MasterProcedureEnv env)
ProcedurereleaseLock in class Procedure<MasterProcedureEnv>protected static List<HRegionInfo> createFsLayout(MasterProcedureEnv env, HTableDescriptor hTableDescriptor, List<HRegionInfo> newRegions) throws IOException
IOExceptionprotected static List<HRegionInfo> createFsLayout(MasterProcedureEnv env, HTableDescriptor hTableDescriptor, List<HRegionInfo> newRegions, CreateTableProcedure.CreateHdfsRegions hdfsRegionHandler) throws IOException
IOExceptionprotected static List<HRegionInfo> addTableToMeta(MasterProcedureEnv env, HTableDescriptor hTableDescriptor, List<HRegionInfo> regions) throws IOException
IOExceptionprotected static void assignRegions(MasterProcedureEnv env, TableName tableName, List<HRegionInfo> regions) throws HBaseException, IOException
HBaseExceptionIOExceptionprotected static void addRegionsToMeta(MasterProcedureEnv env, HTableDescriptor hTableDescriptor, List<HRegionInfo> regionInfos) throws IOException
IOExceptionprotected static void updateTableDescCache(MasterProcedureEnv env, TableName tableName) throws IOException
IOExceptionprotected boolean shouldWaitClientAck(MasterProcedureEnv env)
ProcedureshouldWaitClientAck in class Procedure<MasterProcedureEnv>env - the environment passed to the ProcedureExecutorCopyright © 2007–2019 The Apache Software Foundation. All rights reserved.