-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Service Arch 2020-07-27, Service Arch 2020-08-10, Service Arch 2020-08-24, Service arch 2020-09-07
ServiceExecutors are executors: asynchronous task queues processed by one or more threads. When the ServiceStateMachine needs to queue a new iteration of the command loop, the schedule that work onto a ServiceExecutor (see here). For normal users, all executors are either the ServiceExecutorSynchronous or the ServiceExecutorReserved (which is set here).
We want to allow each Client to have its own ServiceExecutor pointer as a mutable member. Importantly, each Client does not own their ServiceExecutor. We expect that a command or the even ServiceStateMachine might change which executor a client is associated with. Once this is done, we want to remove the ServiceExecutor associated with the ServiceStateMachine (see here) and use the client's wherever it would be used.
- depends on
-
SERVER-49072 Make ServiceExecutors into Decorations
- Closed
- is depended on by
-
SERVER-49109 Attach fixed thread pool ServiceExecutor as initial ServiceExecutor
- Closed
- is related to
-
SERVER-34986 CIDR Block That is Exempt from maxConns
- Closed
-
SERVER-50867 Roll back ServiceStateMachine changes temporarily
- Closed