-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Catalog and Routing
-
Fully Compatible
-
CAR Team 2026-02-16, CAR Team 2026-03-02, CAR Team 2026-03-16
-
200
-
None
-
None
-
None
-
None
-
None
-
None
-
None
The TicketHolder class currently supports only a single concurrency primitive, a Semaphore, and uses a "random" policy to manage ticket acquisition.
As part of Execution Control, we are exploring the use of multiple TicketHolder instances that leverage different concurrency primitives and scheduling policies. Specifically, we want to introduce support for a Priority Queue using policies such as Least Attained Service (LAS).
This ticket aims to refactor and generalize the TicketHolder class. The objective is to make it agnostic of the underlying concurrency primitive and the specific policy used to prioritize and manage waiters.
- is depended on by
-
SERVER-119153 Implement a priority queue for long running operations
-
- Closed
-
-
SERVER-120542 Consolidate TicketHolder statistics into a dedicated stats class
-
- Backlog
-
-
SERVER-120543 Change TicketSemaphore acquire to enqueue directly instead of trying tryAcquire first
-
- Backlog
-
-
SERVER-120544 Relocate TicketHolder and TicketSemaphore to the admission folder
-
- Backlog
-
-
SERVER-120545 Standardize integer types in TicketHolder and subclasses to fixed-width types
-
- Backlog
-
- related to
-
SERVER-120559 Add benchmark test to new ticket semaphore implementation
-
- Backlog
-
-
SERVER-120888 Improve ticket semaphore unittests
-
- Backlog
-