@InterfaceAudience.Private public class CloneSnapshotProcedure extends AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState>
StateMachineProcedure.FlowProcedure.LockStateTableProcedureInterface.TableOperationType| Modifier and Type | Field and Description |
|---|---|
private String |
customSFT |
private static org.slf4j.Logger |
LOG |
private MonitoredTask |
monitorStatus |
private List<RegionInfo> |
newRegions |
private Map<String,Pair<String,String>> |
parentsToChildrenPairMap |
private boolean |
restoreAcl |
private org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription |
snapshot |
private TableDescriptor |
tableDescriptor |
stateCountNO_PROC_ID, NO_TIMEOUT| Constructor and Description |
|---|
CloneSnapshotProcedure()
Constructor (for failover)
|
CloneSnapshotProcedure(MasterProcedureEnv env,
TableDescriptor tableDescriptor,
org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription snapshot) |
CloneSnapshotProcedure(MasterProcedureEnv env,
TableDescriptor tableDescriptor,
org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription snapshot,
boolean restoreAcl)
Constructor
|
CloneSnapshotProcedure(MasterProcedureEnv env,
TableDescriptor tableDescriptor,
org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription snapshot,
boolean restoreAcl,
String customSFT) |
| Modifier and Type | Method and Description |
|---|---|
private void |
addRegionsToMeta(MasterProcedureEnv env)
Add regions to hbase:meta table.
|
private List<RegionInfo> |
createFilesystemLayout(MasterProcedureEnv env,
TableDescriptor tableDescriptor,
List<RegionInfo> newRegions)
Create regions in file system.
|
private List<RegionInfo> |
createFsLayout(MasterProcedureEnv env,
TableDescriptor tableDescriptor,
List<RegionInfo> newRegions,
CreateTableProcedure.CreateHdfsRegions hdfsRegionHandler)
Create region layout in file system.
|
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.CloneSnapshotState state)
called to perform a single step of the specified 'state' of the procedure
|
protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState |
getInitialState()
Return the initial state object that will be used for the first call to executeFromState().
|
private MonitoredTask |
getMonitorStatus()
Set up monitor status if it is not created.
|
boolean |
getRestoreAcl()
Exposed for Testing: HBASE-26462
|
protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState |
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.CloneSnapshotState 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 boolean |
isRollbackSupported(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState state)
Used by the default implementation of abort() to know if the current state can be aborted and
rollback can be triggered.
|
private void |
postCloneSnapshot(MasterProcedureEnv env)
Action after cloning from snapshot.
|
private void |
preCloneSnapshot(MasterProcedureEnv env)
Action before cloning from snapshot.
|
private void |
prepareClone(MasterProcedureEnv env)
Action before any real action of cloning from snapshot.
|
private void |
restoreSnapshotAcl(MasterProcedureEnv env) |
protected void |
rollbackState(MasterProcedureEnv env,
org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState 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.
|
void |
toStringClassDetails(StringBuilder sb)
Extend the toString() information with the procedure details e.g.
|
private void |
updateTableDescriptorWithSFT()
If a StoreFileTracker is specified we strip the TableDescriptor from previous SFT config and
set the specified SFT on the table level
|
private void |
validateSFT() |
acquireLock, checkOnline, checkTableModifiable, getUser, getWALRegionDir, isTableEnabled, preflightChecks, releaseLock, releaseSyncLatch, setUser, waitInitializedabort, addChildProcedure, execute, failIfAborted, getCurrentState, getCurrentStateId, getCycles, isEofState, isYieldAfterExecutionStep, isYieldBeforeExecuteFromState, rollback, 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, wasExecutedprivate static final org.slf4j.Logger LOG
private TableDescriptor tableDescriptor
private org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription snapshot
private boolean restoreAcl
private List<RegionInfo> newRegions
private MonitoredTask monitorStatus
public CloneSnapshotProcedure()
public CloneSnapshotProcedure(MasterProcedureEnv env, TableDescriptor tableDescriptor, org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription snapshot)
public CloneSnapshotProcedure(MasterProcedureEnv env, TableDescriptor tableDescriptor, org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription snapshot, boolean restoreAcl)
env - MasterProcedureEnvtableDescriptor - the table to operate onsnapshot - snapshot to clone frompublic CloneSnapshotProcedure(MasterProcedureEnv env, TableDescriptor tableDescriptor, org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription snapshot, boolean restoreAcl, String customSFT)
private MonitoredTask getMonitorStatus()
private void restoreSnapshotAcl(MasterProcedureEnv env) throws IOException
IOExceptionprotected StateMachineProcedure.Flow executeFromState(MasterProcedureEnv env, org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState state) throws InterruptedException
StateMachineProcedureexecuteFromState in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState>state - state to executeInterruptedExceptionprivate void updateTableDescriptorWithSFT()
private void validateSFT()
protected void rollbackState(MasterProcedureEnv env, org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState state) throws IOException
StateMachineProcedurerollbackState in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState>state - state to rollbackIOException - temporary failure, the rollback will retry laterprotected boolean isRollbackSupported(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState state)
StateMachineProcedureisRollbackSupported in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState>protected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState getState(int stateId)
StateMachineProceduregetState in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState>stateId - the ordinal() of the state enum (or state id)protected int getStateId(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState state)
StateMachineProceduregetStateId in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState>state - the state enum objectprotected org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState getInitialState()
StateMachineProceduregetInitialState in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState>public TableName getTableName()
TableProcedureInterfacegetTableName in interface TableProcedureInterfacegetTableName in class AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState>public TableProcedureInterface.TableOperationType getTableOperationType()
TableProcedureInterfacegetTableOperationType in interface TableProcedureInterfacegetTableOperationType in class AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState>public void toStringClassDetails(StringBuilder sb)
ProceduretoStringClassDetails in class AbstractStateMachineTableProcedure<org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState>sb - the string builder to use to append the proc specific informationprotected void serializeStateData(ProcedureStateSerializer serializer) throws IOException
ProcedureserializeStateData in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState>serializer - stores the serializable stateIOExceptionprotected void deserializeStateData(ProcedureStateSerializer serializer) throws IOException
ProceduredeserializeStateData in class StateMachineProcedure<MasterProcedureEnv,org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProcedureProtos.CloneSnapshotState>serializer - contains the serialized stateIOExceptionprivate void prepareClone(MasterProcedureEnv env) throws IOException
env - MasterProcedureEnvIOExceptionprivate void preCloneSnapshot(MasterProcedureEnv env) throws IOException, InterruptedException
env - MasterProcedureEnv nnIOExceptionInterruptedExceptionprivate void postCloneSnapshot(MasterProcedureEnv env) throws IOException, InterruptedException
env - MasterProcedureEnv nnIOExceptionInterruptedExceptionprivate List<RegionInfo> createFilesystemLayout(MasterProcedureEnv env, TableDescriptor tableDescriptor, List<RegionInfo> newRegions) throws IOException
env - MasterProcedureEnv nIOExceptionprivate List<RegionInfo> createFsLayout(MasterProcedureEnv env, TableDescriptor tableDescriptor, List<RegionInfo> newRegions, CreateTableProcedure.CreateHdfsRegions hdfsRegionHandler) throws IOException
env - MasterProcedureEnv nIOExceptionprivate void addRegionsToMeta(MasterProcedureEnv env) throws IOException
env - MasterProcedureEnv nIOExceptionpublic boolean getRestoreAcl()
Copyright © 2007–2020 The Apache Software Foundation. All rights reserved.