Modifier and Type | Method and Description |
---|---|
List<Procedure<?>> |
MasterServices.getProcedures()
Get procedures
|
List<Procedure<?>> |
HMaster.getProcedures() |
Modifier and Type | Method and Description |
---|---|
void |
MasterCoprocessorHost.postGetProcedures(List<Procedure<?>> procInfoList) |
Modifier and Type | Class and Description |
---|---|
class |
AssignProcedure
Procedure that describe the assignment of a single region.
|
class |
GCMergedRegionsProcedure
GC regions that have been Merged.
|
class |
GCRegionProcedure
GC a Region that is no longer in use.
|
class |
MergeTableRegionsProcedure
The procedure to Merge a region in a table.
|
class |
MoveRegionProcedure
Procedure that implements a RegionPlan.
|
class |
RegionTransitionProcedure
Base class for the Assign and Unassign Procedure.
|
class |
SplitTableRegionProcedure
The procedure to split a region in a table.
|
class |
UnassignProcedure
Procedure that describes the unassignment of a single region.
|
Modifier and Type | Method and Description |
---|---|
protected Procedure[] |
RegionTransitionProcedure.execute(MasterProcedureEnv env) |
Modifier and Type | Method and Description |
---|---|
boolean |
AssignmentManager.waitMetaAssigned(Procedure<?> proc,
RegionInfo regionInfo)
Notice that this event does not mean the AM has already finished region state rebuilding.
|
boolean |
AssignmentManager.waitMetaLoaded(Procedure<?> proc)
Wait until AM finishes the meta loading, i.e, the region states rebuilding.
|
protected boolean |
AssignmentManager.waitServerReportEvent(ServerName serverName,
Procedure<?> proc) |
Modifier and Type | Class and Description |
---|---|
class |
LockProcedure
Procedure to allow blessed clients and external admin tools to take our internal Schema locks
used by the procedure framework isolating procedures doing creates/deletes etc.
|
Modifier and Type | Method and Description |
---|---|
protected Procedure<MasterProcedureEnv>[] |
LockProcedure.execute(MasterProcedureEnv env) |
Modifier and Type | Class and Description |
---|---|
class |
AbstractStateMachineNamespaceProcedure<TState>
Base class for all the Namespace procedures that want to use a StateMachineProcedure.
|
class |
AbstractStateMachineRegionProcedure<TState>
Base class for all the Region procedures that want to use a StateMachine.
|
class |
AbstractStateMachineTableProcedure<TState>
Base class for all the Table procedures that want to use a StateMachineProcedure.
|
class |
CloneSnapshotProcedure |
class |
CreateNamespaceProcedure
The procedure to create a new namespace.
|
class |
CreateTableProcedure |
class |
DeleteNamespaceProcedure
The procedure to remove a namespace.
|
class |
DeleteTableProcedure |
class |
DisableTableProcedure |
class |
EnableTableProcedure |
class |
InitMetaProcedure
This procedure is used to initialize meta table for a new hbase deploy.
|
class |
ModifyNamespaceProcedure
The procedure to add a namespace to an existing table.
|
class |
ModifyTableProcedure |
class |
RecoverMetaProcedure
Deprecated.
Do not use any more, leave it here only for compatible. The recovery work will be
done in
ServerCrashProcedure directly, and the initial work for meta table
will be done by InitMetaProcedure . |
class |
ReopenTableRegionsProcedure
Used for reopening the regions for a table.
|
class |
RestoreSnapshotProcedure |
class |
ServerCrashProcedure
Handle crashed server.
|
class |
ServerRemoteProcedure |
class |
TruncateTableProcedure |
Modifier and Type | Method and Description |
---|---|
protected Procedure |
MasterProcedureScheduler.dequeue(boolean onlyUrgent) |
protected Procedure<MasterProcedureEnv>[] |
ServerRemoteProcedure.execute(MasterProcedureEnv env) |
Modifier and Type | Method and Description |
---|---|
void |
MasterProcedureScheduler.completionCleanup(Procedure proc) |
protected abstract void |
ProcedurePrepareLatch.countDown(Procedure proc) |
protected void |
ProcedurePrepareLatch.CompatibilityLatch.countDown(Procedure proc) |
static String |
ProcedureDescriber.describe(Procedure<?> proc) |
static String |
ProcedureDescriber.describeParameters(Procedure<?> proc) |
protected void |
MasterProcedureScheduler.enqueue(Procedure proc,
boolean addFront) |
static void |
ProcedurePrepareLatch.releaseLatch(ProcedurePrepareLatch latch,
Procedure proc) |
boolean |
TableQueue.requireExclusiveLock(Procedure<?> proc) |
static byte[] |
ProcedureSyncWait.submitAndWaitProcedure(ProcedureExecutor<MasterProcedureEnv> procExec,
Procedure<MasterProcedureEnv> proc) |
protected long |
MasterProcedureUtil.NonceProcedureRunnable.submitProcedure(Procedure<MasterProcedureEnv> proc) |
static Future<byte[]> |
ProcedureSyncWait.submitProcedure(ProcedureExecutor<MasterProcedureEnv> procExec,
Procedure<MasterProcedureEnv> proc) |
static IOException |
MasterProcedureUtil.unwrapRemoteIOException(Procedure proc)
This is a version of unwrapRemoteIOException that can do DoNotRetryIOE.
|
static byte[] |
ProcedureSyncWait.waitForProcedureToComplete(ProcedureExecutor<MasterProcedureEnv> procExec,
Procedure<?> proc,
long timeout) |
static byte[] |
ProcedureSyncWait.waitForProcedureToCompleteIOE(ProcedureExecutor<MasterProcedureEnv> procExec,
Procedure<?> proc,
long timeout) |
boolean |
MasterProcedureEnv.waitInitialized(Procedure<?> proc) |
boolean |
MasterProcedureScheduler.waitMetaExclusiveLock(Procedure<?> procedure)
Deprecated.
only used for
RecoverMetaProcedure . Should be removed along with
RecoverMetaProcedure . |
boolean |
MasterProcedureScheduler.waitNamespaceExclusiveLock(Procedure<?> procedure,
String namespace)
Suspend the procedure if the specified namespace is already locked.
|
boolean |
MasterProcedureScheduler.waitPeerExclusiveLock(Procedure<?> procedure,
String peerId)
Try to acquire the exclusive lock on the specified peer.
|
boolean |
MasterProcedureScheduler.waitRegion(Procedure<?> procedure,
RegionInfo regionInfo)
Suspend the procedure if the specified region is already locked.
|
boolean |
MasterProcedureScheduler.waitRegions(Procedure<?> procedure,
TableName table,
RegionInfo... regionInfo)
Suspend the procedure if the specified set of regions are already locked.
|
boolean |
MasterProcedureScheduler.waitServerExclusiveLock(Procedure<?> procedure,
ServerName serverName)
Try to acquire the exclusive lock on the specified server.
|
boolean |
MasterProcedureScheduler.waitTableExclusiveLock(Procedure<?> procedure,
TableName table)
Suspend the procedure if the specified table is already locked.
|
boolean |
MasterProcedureScheduler.waitTableSharedLock(Procedure<?> procedure,
TableName table)
Suspend the procedure if the specified table is already locked.
|
void |
MasterProcedureScheduler.wakeMetaExclusiveLock(Procedure<?> procedure)
Deprecated.
only used for
RecoverMetaProcedure . Should be removed along with
RecoverMetaProcedure . |
void |
MasterProcedureScheduler.wakeNamespaceExclusiveLock(Procedure<?> procedure,
String namespace)
Wake the procedures waiting for the specified namespace
|
void |
MasterProcedureScheduler.wakePeerExclusiveLock(Procedure<?> procedure,
String peerId)
Wake the procedures waiting for the specified peer
|
void |
MasterProcedureScheduler.wakeRegion(Procedure<?> procedure,
RegionInfo regionInfo)
Wake the procedures waiting for the specified region
|
void |
MasterProcedureScheduler.wakeRegions(Procedure<?> procedure,
TableName table,
RegionInfo... regionInfo)
Wake the procedures waiting for the specified regions
|
void |
MasterProcedureScheduler.wakeServerExclusiveLock(Procedure<?> procedure,
ServerName serverName)
Wake the procedures waiting for the specified server
|
void |
MasterProcedureScheduler.wakeTableExclusiveLock(Procedure<?> procedure,
TableName table)
Wake the procedures waiting for the specified table
|
void |
MasterProcedureScheduler.wakeTableSharedLock(Procedure<?> procedure,
TableName table)
Wake the procedures waiting for the specified table
|
void |
MasterProcedureScheduler.yield(Procedure proc) |
Constructor and Description |
---|
MasterProcedureScheduler(Function<Long,Procedure<?>> procedureRetriever) |
Modifier and Type | Class and Description |
---|---|
class |
AbstractPeerProcedure<TState>
The base class for all replication peer related procedure.
|
class |
AddPeerProcedure
The procedure for adding a new replication peer.
|
class |
DisablePeerProcedure
The procedure for disabling a replication peer.
|
class |
EnablePeerProcedure
The procedure for enabling a replication peer.
|
class |
ModifyPeerProcedure
The base class for all replication peer related procedure except sync replication state
transition.
|
class |
RefreshPeerProcedure |
class |
RemovePeerProcedure
The procedure for removing a replication peer.
|
class |
UpdatePeerConfigProcedure
The procedure for updating the config for a replication peer.
|
Modifier and Type | Class and Description |
---|---|
class |
FailedProcedure<TEnvironment> |
class |
OnePhaseProcedure<TEnvironment> |
class |
ProcedureInMemoryChore<TEnvironment>
Special procedure used as a chore.
|
class |
SequentialProcedure<TEnvironment>
A SequentialProcedure describes one step in a procedure chain:
|
class |
StateMachineProcedure<TEnvironment,TState>
Procedure described by a series of steps.
|
class |
TwoPhaseProcedure<TEnvironment> |
Modifier and Type | Method and Description |
---|---|
protected <T extends Procedure<TEnvironment>> |
StateMachineProcedure.addChildProcedure(T... subProcedure)
Add a child procedure to execute
|
<T extends Procedure<TEnvironment>> |
ProcedureExecutor.getProcedure(Class<T> clazz,
long procId) |
Modifier and Type | Method and Description |
---|---|
static Procedure<?> |
ProcedureUtil.convertToProcedure(ProcedureProtos.Procedure proto)
Helper to convert the protobuf procedure.
|
protected Procedure |
AbstractProcedureScheduler.dequeue()
Fetch one Procedure from the queue
NOTE: this method is called with the sched lock held.
|
protected abstract Procedure |
AbstractProcedureScheduler.dequeue(boolean onlyUrgent) |
protected Procedure |
SimpleProcedureScheduler.dequeue(boolean onlyUrgent) |
protected Procedure[] |
SequentialProcedure.doExecute(TEnvironment env) |
protected Procedure<TEnvironment>[] |
Procedure.doExecute(TEnvironment env)
Internal method called by the ProcedureExecutor that starts the user-level code execute().
|
protected Procedure<TEnvironment>[] |
FailedProcedure.execute(TEnvironment env) |
protected Procedure<TEnvironment>[] |
ProcedureInMemoryChore.execute(TEnvironment env) |
protected Procedure[] |
StateMachineProcedure.execute(TEnvironment env) |
protected abstract Procedure<TEnvironment>[] |
Procedure.execute(TEnvironment env)
The main code of the procedure.
|
Procedure<?> |
LockAndQueue.getExclusiveLockOwnerProcedure() |
Procedure<?> |
LockedResource.getExclusiveLockOwnerProcedure() |
Procedure<?> |
LockStatus.getExclusiveLockOwnerProcedure()
Get the procedure which holds the exclusive lock.
|
Procedure<TEnvironment> |
ProcedureExecutor.getProcedure(long procId) |
Procedure<TEnvironment> |
ProcedureExecutor.getResult(long procId) |
Procedure<TEnvironment> |
ProcedureExecutor.getResultOrProcedure(long procId) |
Procedure |
AbstractProcedureScheduler.poll() |
Procedure |
ProcedureScheduler.poll()
Fetch one Procedure from the queue
|
Procedure |
AbstractProcedureScheduler.poll(boolean onlyUrgent) |
Procedure |
ProcedureScheduler.poll(boolean onlyUrgent)
Fetch one Procedure from the queue
|
Procedure |
AbstractProcedureScheduler.poll(boolean onlyUrgent,
long nanos) |
Procedure |
AbstractProcedureScheduler.poll(boolean onlyUrgent,
long timeout,
TimeUnit unit) |
Procedure |
ProcedureScheduler.poll(boolean onlyUrgent,
long timeout,
TimeUnit unit)
Fetch one Procedure from the queue
|
Procedure |
AbstractProcedureScheduler.poll(long nanos) |
Procedure |
AbstractProcedureScheduler.poll(long timeout,
TimeUnit unit) |
Procedure |
ProcedureScheduler.poll(long timeout,
TimeUnit unit)
Fetch one Procedure from the queue
|
Procedure<?> |
LockAndQueue.removeFirst() |
Modifier and Type | Method and Description |
---|---|
Stream<Procedure> |
LockAndQueue.filterWaitingQueue(Predicate<Procedure> predicate) |
Collection<Procedure<TEnvironment>> |
ProcedureExecutor.getActiveProceduresNoCopy()
Should only be used when starting up, where the procedure workers have not been started.
|
List<Procedure<TEnvironment>> |
ProcedureExecutor.getProcedures()
Get procedures.
|
List<Procedure<?>> |
LockedResource.getWaitingProcedures() |
Modifier and Type | Method and Description |
---|---|
void |
AbstractProcedureScheduler.addBack(Procedure procedure) |
void |
ProcedureScheduler.addBack(Procedure proc)
Inserts the specified element at the end of this queue.
|
void |
AbstractProcedureScheduler.addBack(Procedure procedure,
boolean notify) |
void |
ProcedureScheduler.addBack(Procedure proc,
boolean notify)
Inserts the specified element at the end of this queue.
|
protected <T extends Procedure<TEnvironment>> |
StateMachineProcedure.addChildProcedure(T... subProcedure)
Add a child procedure to execute
|
void |
AbstractProcedureScheduler.addFront(Procedure procedure) |
void |
ProcedureScheduler.addFront(Procedure proc)
Inserts the specified element at the front of this queue.
|
void |
AbstractProcedureScheduler.addFront(Procedure procedure,
boolean notify) |
void |
ProcedureScheduler.addFront(Procedure proc,
boolean notify)
Inserts the specified element at the front of this queue.
|
void |
LockAndQueue.addLast(Procedure<?> proc) |
int |
Procedure.compareTo(Procedure<TEnvironment> other) |
void |
SimpleProcedureScheduler.completionCleanup(Procedure proc) |
void |
ProcedureScheduler.completionCleanup(Procedure proc)
The procedure in execution completed.
|
static ProcedureProtos.Procedure |
ProcedureUtil.convertToProtoProcedure(Procedure<?> proc)
Helper to convert the procedure to protobuf.
|
protected abstract void |
AbstractProcedureScheduler.enqueue(Procedure procedure,
boolean addFront)
Add the procedure to the queue.
|
protected void |
SimpleProcedureScheduler.enqueue(Procedure procedure,
boolean addFront) |
protected static <T> Long |
Procedure.getRootProcedureId(Map<Long,Procedure<T>> procedures,
Procedure<T> proc)
Helper to lookup the root Procedure ID given a specified procedure.
|
boolean |
LockAndQueue.hasLockAccess(Procedure<?> proc) |
boolean |
LockStatus.hasLockAccess(Procedure<?> proc)
Return true if the procedure itself holds the exclusive lock, or any ancestors of the give
procedure hold the exclusive lock.
|
static boolean |
Procedure.haveSameParent(Procedure<?> a,
Procedure<?> b) |
static boolean |
Procedure.haveSameParent(Procedure<?> a,
Procedure<?> b) |
protected void |
AbstractProcedureScheduler.push(Procedure procedure,
boolean addFront,
boolean notify) |
boolean |
LockAndQueue.releaseExclusiveLock(Procedure<?> proc) |
long |
ProcedureExecutor.submitProcedure(Procedure<TEnvironment> proc)
Add a new root-procedure to the executor.
|
long |
ProcedureExecutor.submitProcedure(Procedure<TEnvironment> proc,
NonceKey nonceKey)
Add a new root-procedure to the executor.
|
void |
ProcedureExecutor.submitProcedures(Procedure<TEnvironment>[] procs)
Add a set of new root-procedure to the executor.
|
boolean |
ProcedureEvent.suspendIfNotReady(Procedure proc) |
boolean |
LockAndQueue.tryExclusiveLock(Procedure<?> proc) |
boolean |
LockAndQueue.trySharedLock(Procedure<?> proc) |
protected void |
AbstractProcedureScheduler.waitProcedure(LockAndQueue lockAndQueue,
Procedure proc) |
protected void |
AbstractProcedureScheduler.wakeProcedure(Procedure procedure) |
void |
SimpleProcedureScheduler.yield(Procedure proc) |
void |
ProcedureScheduler.yield(Procedure proc)
The procedure can't run at the moment.
|
Modifier and Type | Method and Description |
---|---|
void |
AbstractProcedureScheduler.addFront(Iterator<Procedure> procedureIterator) |
void |
ProcedureScheduler.addFront(Iterator<Procedure> procedureIterator)
Inserts all elements in the iterator at the front of this queue.
|
Stream<Procedure> |
LockAndQueue.filterWaitingQueue(Predicate<Procedure> predicate) |
protected static <T> Long |
Procedure.getRootProcedureId(Map<Long,Procedure<T>> procedures,
Procedure<T> proc)
Helper to lookup the root Procedure ID given a specified procedure.
|
Constructor and Description |
---|
LockedResource(LockedResourceType resourceType,
String resourceName,
LockType lockType,
Procedure<?> exclusiveLockOwnerProcedure,
int sharedLockCount,
List<Procedure<?>> waitingProcedures) |
Constructor and Description |
---|
LockAndQueue(Function<Long,Procedure<?>> procedureRetriever) |
LockedResource(LockedResourceType resourceType,
String resourceName,
LockType lockType,
Procedure<?> exclusiveLockOwnerProcedure,
int sharedLockCount,
List<Procedure<?>> waitingProcedures) |
Modifier and Type | Method and Description |
---|---|
Procedure |
ProcedureStore.ProcedureIterator.next()
Returns the next procedure in the iteration.
|
Modifier and Type | Method and Description |
---|---|
void |
NoopProcedureStore.delete(Procedure<?> proc,
long[] subprocs) |
void |
ProcedureStore.delete(Procedure<?> parentProc,
long[] subProcIds)
The parent procedure completed.
|
void |
NoopProcedureStore.insert(Procedure<?>[] proc) |
void |
ProcedureStore.insert(Procedure<?>[] procs)
Serialize a set of new procedures.
|
void |
NoopProcedureStore.insert(Procedure<?> proc,
Procedure<?>[] subprocs) |
void |
NoopProcedureStore.insert(Procedure<?> proc,
Procedure<?>[] subprocs) |
void |
ProcedureStore.insert(Procedure<?> proc,
Procedure<?>[] subprocs)
When a procedure is submitted to the executor insert(proc, null) will be called.
|
void |
ProcedureStore.insert(Procedure<?> proc,
Procedure<?>[] subprocs)
When a procedure is submitted to the executor insert(proc, null) will be called.
|
void |
NoopProcedureStore.update(Procedure<?> proc) |
void |
ProcedureStore.update(Procedure<?> proc)
The specified procedure was executed,
and the new state should be written to the store.
|
Modifier and Type | Method and Description |
---|---|
void |
WALProcedureStore.delete(Procedure<?> proc,
long[] subProcIds) |
void |
WALProcedureStore.insert(Procedure<?>[] procs) |
void |
WALProcedureStore.insert(Procedure<?> proc,
Procedure<?>[] subprocs) |
void |
WALProcedureStore.insert(Procedure<?> proc,
Procedure<?>[] subprocs) |
void |
WALProcedureStore.update(Procedure<?> proc) |
static void |
ProcedureWALFormat.writeDelete(ByteSlot slot,
Procedure<?> proc,
long[] subprocs) |
static void |
ProcedureWALFormat.writeEntry(ByteSlot slot,
ProcedureProtos.ProcedureWALEntry.Type type,
Procedure<?> proc,
Procedure<?>[] subprocs) |
static void |
ProcedureWALFormat.writeEntry(ByteSlot slot,
ProcedureProtos.ProcedureWALEntry.Type type,
Procedure<?> proc,
Procedure<?>[] subprocs) |
static void |
ProcedureWALFormat.writeInsert(ByteSlot slot,
Procedure<?> proc) |
static void |
ProcedureWALFormat.writeInsert(ByteSlot slot,
Procedure<?> proc,
Procedure<?>[] subprocs) |
static void |
ProcedureWALFormat.writeInsert(ByteSlot slot,
Procedure<?> proc,
Procedure<?>[] subprocs) |
static void |
ProcedureWALFormat.writeUpdate(ByteSlot slot,
Procedure<?> proc) |
Copyright © 2007–2019 Cloudera. All rights reserved.