Class TableProcedureWaitingQueue
java.lang.Object
org.apache.hadoop.hbase.master.procedure.TableProcedureWaitingQueue
To prevent multiple Create/Modify/Disable/Enable table procedures run at the same time, we will
keep table procedure in this queue first before actually enqueuing it to
MasterProcedureScheduler's tableQueue. See HBASE-28683 for more details
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription(package private) boolean
isEmpty()
private boolean
isSubProcedure
(Procedure<?> proc) procedureCompleted
(Procedure<?> proc) Return the next procedure which can be enqueued to ProcedureScheduler.(package private) boolean
procedureSubmitted
(Procedure<?> proc) Return whether we can enqueue this procedure to ProcedureScheduler.toString()
(package private) int
-
Field Details
-
procedureRetriever
-
enqueuedProc
-
queue
-
-
Constructor Details
-
TableProcedureWaitingQueue
TableProcedureWaitingQueue(Function<Long, Procedure<?>> procedureRetriever)
-
-
Method Details
-
isSubProcedure
-
procedureSubmitted
Return whether we can enqueue this procedure to ProcedureScheduler.If returns
true
, you should enqueue this procedure, otherwise you just need to do nothing, as we will queue it in the waitingQueue, and you will finally get it again by callingprocedureCompleted(Procedure)
method in the future. -
procedureCompleted
Return the next procedure which can be enqueued to ProcedureScheduler. -
isEmpty
boolean isEmpty() -
waitingSize
int waitingSize() -
toString
-