| Package | Description |
|---|---|
| org.apache.hadoop.hbase.procedure2 | |
| org.apache.hadoop.hbase.procedure2.store | |
| org.apache.hadoop.hbase.procedure2.store.wal |
| 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 abstract Procedure |
AbstractProcedureScheduler.dequeue()
Fetch one Procedure from the queue
NOTE: this method is called with the sched lock held.
|
protected Procedure |
SimpleProcedureScheduler.dequeue() |
protected Procedure<TEnvironment>[] |
Procedure.doExecute(TEnvironment env)
Internal method called by the ProcedureExecutor that starts the user-level code execute().
|
protected Procedure[] |
SequentialProcedure.doExecute(TEnvironment env) |
protected abstract Procedure<TEnvironment>[] |
Procedure.execute(TEnvironment env)
The main code of the procedure.
|
protected Procedure[] |
StateMachineProcedure.execute(TEnvironment env) |
protected Procedure<TEnvironment>[] |
ProcedureInMemoryChore.execute(TEnvironment env) |
protected Procedure<TEnvironment>[] |
FailedProcedure.execute(TEnvironment env) |
Procedure<?> |
LockedResource.getExclusiveLockOwnerProcedure() |
Procedure<?> |
LockStatus.getExclusiveLockOwnerProcedure()
Get the procedure which holds the exclusive lock.
|
Procedure<?> |
LockAndQueue.getExclusiveLockOwnerProcedure() |
Procedure<TEnvironment> |
ProcedureExecutor.getProcedure(long procId) |
Procedure<TEnvironment> |
ProcedureExecutor.getResult(long procId) |
Procedure<TEnvironment> |
ProcedureExecutor.getResultOrProcedure(long procId) |
Procedure |
ProcedureScheduler.poll()
Fetch one Procedure from the queue
|
Procedure |
AbstractProcedureScheduler.poll() |
Procedure |
AbstractProcedureScheduler.poll(long nanos) |
Procedure |
ProcedureScheduler.poll(long timeout,
TimeUnit unit)
Fetch one Procedure from the queue
|
Procedure |
AbstractProcedureScheduler.poll(long timeout,
TimeUnit unit) |
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 |
ProcedureScheduler.addBack(Procedure proc)
Inserts the specified element at the end of this queue.
|
void |
AbstractProcedureScheduler.addBack(Procedure procedure) |
void |
ProcedureScheduler.addBack(Procedure proc,
boolean notify)
Inserts the specified element at the end of this queue.
|
void |
AbstractProcedureScheduler.addBack(Procedure procedure,
boolean notify) |
protected <T extends Procedure<TEnvironment>> |
StateMachineProcedure.addChildProcedure(T... subProcedure)
Add a child procedure to execute
|
void |
ProcedureScheduler.addFront(Procedure proc)
Inserts the specified element at the front of this queue.
|
void |
AbstractProcedureScheduler.addFront(Procedure procedure) |
void |
ProcedureScheduler.addFront(Procedure proc,
boolean notify)
Inserts the specified element at the front of this queue.
|
void |
AbstractProcedureScheduler.addFront(Procedure procedure,
boolean notify) |
void |
LockAndQueue.addLast(Procedure<?> proc) |
int |
Procedure.compareTo(Procedure<TEnvironment> other) |
void |
ProcedureScheduler.completionCleanup(Procedure proc)
The procedure in execution completed.
|
void |
SimpleProcedureScheduler.completionCleanup(Procedure proc) |
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 |
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.
|
boolean |
LockAndQueue.hasLockAccess(Procedure<?> proc) |
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) |
boolean |
ProcedureEvent.wakeIfSuspended(AbstractProcedureScheduler procedureScheduler,
Procedure<?> proc)
Wakes up the suspended procedures only if the given
proc is waiting on this event. |
protected void |
AbstractProcedureScheduler.wakeProcedure(Procedure procedure) |
void |
ProcedureScheduler.yield(Procedure proc)
The procedure can't run at the moment.
|
void |
SimpleProcedureScheduler.yield(Procedure proc) |
| Modifier and Type | Method and Description |
|---|---|
void |
ProcedureScheduler.addFront(Iterator<Procedure> procedureIterator)
Inserts all elements in the iterator at the front of this queue.
|
void |
AbstractProcedureScheduler.addFront(Iterator<Procedure> procedureIterator) |
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 |
ProcedureStore.delete(Procedure<?> parentProc,
long[] subProcIds)
The parent procedure completed.
|
void |
NoopProcedureStore.delete(Procedure<?> proc,
long[] subprocs) |
void |
ProcedureStore.insert(Procedure<?>[] procs)
Serialize a set of new procedures.
|
void |
NoopProcedureStore.insert(Procedure<?>[] proc) |
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.insert(Procedure<?> proc,
Procedure<?>[] subprocs) |
void |
NoopProcedureStore.insert(Procedure<?> proc,
Procedure<?>[] subprocs) |
void |
ProcedureStore.update(Procedure<?> proc)
The specified procedure was executed,
and the new state should be written to the store.
|
void |
NoopProcedureStore.update(Procedure<?> proc) |
| 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–2020 The Apache Software Foundation. All rights reserved.