@InterfaceAudience.Private public abstract class AbstractStateMachineTableProcedure<TState> extends org.apache.hadoop.hbase.procedure2.StateMachineProcedure<MasterProcedureEnv,TState> implements TableProcedureInterface
org.apache.hadoop.hbase.procedure2.StateMachineProcedure.Floworg.apache.hadoop.hbase.procedure2.Procedure.LockStateTableProcedureInterface.TableOperationType| Modifier | Constructor and Description |
|---|---|
protected |
AbstractStateMachineTableProcedure() |
protected |
AbstractStateMachineTableProcedure(MasterProcedureEnv env) |
protected |
AbstractStateMachineTableProcedure(MasterProcedureEnv env,
ProcedurePrepareLatch latch) |
| Modifier and Type | Method and Description |
|---|---|
protected org.apache.hadoop.hbase.procedure2.Procedure.LockState |
acquireLock(MasterProcedureEnv env) |
protected static void |
checkOnline(MasterProcedureEnv env,
org.apache.hadoop.hbase.client.RegionInfo ri)
Check region is online.
|
protected void |
checkTableModifiable(MasterProcedureEnv env)
Check whether a table is modifiable - exists and either offline or online with config set
|
abstract org.apache.hadoop.hbase.TableName |
getTableName() |
abstract TableProcedureInterface.TableOperationType |
getTableOperationType()
Given an operation type we can take decisions about what to do with pending operations.
|
protected org.apache.hadoop.hbase.security.User |
getUser() |
protected org.apache.hadoop.fs.Path |
getWALRegionDir(MasterProcedureEnv env,
org.apache.hadoop.hbase.client.RegionInfo region) |
protected void |
preflightChecks(MasterProcedureEnv env,
Boolean enabled)
Check that cluster is up and master is running.
|
protected void |
releaseLock(MasterProcedureEnv env) |
protected void |
releaseSyncLatch() |
protected void |
setUser(org.apache.hadoop.hbase.security.User user) |
void |
toStringClassDetails(StringBuilder sb) |
protected boolean |
waitInitialized(MasterProcedureEnv env) |
abort, addChildProcedure, deserializeStateData, execute, executeFromState, failIfAborted, getCurrentState, getCurrentStateId, getCycles, getInitialState, getState, getStateId, isEofState, isRollbackSupported, isYieldAfterExecutionStep, isYieldBeforeExecuteFromState, rollback, rollbackState, serializeStateData, setNextState, toStringStateaddStackIndex, 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, setFailure, setFailure, setLastUpdate, setNonceKey, setOwner, setOwner, setParentProcId, setProcId, setResult, setRootProcId, setStackIndexes, setState, setSubmittedTime, setTimeout, setTimeoutFailure, shouldWaitClientAck, skipPersistence, toString, toStringClass, toStringDetails, toStringSimpleSB, updateMetricsOnFinish, updateMetricsOnSubmit, updateTimestamp, wasExecutedprotected AbstractStateMachineTableProcedure()
protected AbstractStateMachineTableProcedure(MasterProcedureEnv env)
protected AbstractStateMachineTableProcedure(MasterProcedureEnv env, ProcedurePrepareLatch latch)
env - Uses this to set Procedure Owner at least.public abstract org.apache.hadoop.hbase.TableName getTableName()
getTableName in interface TableProcedureInterfacepublic abstract TableProcedureInterface.TableOperationType getTableOperationType()
TableProcedureInterfacegetTableOperationType in interface TableProcedureInterfacepublic void toStringClassDetails(StringBuilder sb)
toStringClassDetails in class org.apache.hadoop.hbase.procedure2.Procedure<MasterProcedureEnv>protected boolean waitInitialized(MasterProcedureEnv env)
waitInitialized in class org.apache.hadoop.hbase.procedure2.Procedure<MasterProcedureEnv>protected org.apache.hadoop.hbase.procedure2.Procedure.LockState acquireLock(MasterProcedureEnv env)
acquireLock in class org.apache.hadoop.hbase.procedure2.Procedure<MasterProcedureEnv>protected void releaseLock(MasterProcedureEnv env)
releaseLock in class org.apache.hadoop.hbase.procedure2.Procedure<MasterProcedureEnv>protected org.apache.hadoop.hbase.security.User getUser()
protected void setUser(org.apache.hadoop.hbase.security.User user)
protected void releaseSyncLatch()
protected void checkTableModifiable(MasterProcedureEnv env) throws IOException
env - MasterProcedureEnvIOExceptionprotected final org.apache.hadoop.fs.Path getWALRegionDir(MasterProcedureEnv env, org.apache.hadoop.hbase.client.RegionInfo region) throws IOException
IOExceptionprotected void preflightChecks(MasterProcedureEnv env, Boolean enabled) throws org.apache.hadoop.hbase.HBaseIOException
enabled, check table is enabled else check it is disabled.
Call in Procedure constructor so can pass any exception to caller.enabled - If true, check table is enabled and throw exception if not. If false, do the
inverse. If null, do no table checks.org.apache.hadoop.hbase.HBaseIOExceptionprotected static void checkOnline(MasterProcedureEnv env, org.apache.hadoop.hbase.client.RegionInfo ri) throws org.apache.hadoop.hbase.client.DoNotRetryRegionException
org.apache.hadoop.hbase.client.DoNotRetryRegionExceptionCopyright © 2007–2020 The Apache Software Foundation. All rights reserved.