[SERVER-48980] Associate ServiceExecutors with Clients Created: 18/Jun/20  Updated: 29/Oct/23  Resolved: 31/Aug/20

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 4.7.0

Type: Improvement Priority: Major - P3
Reporter: Benjamin Caimano (Inactive) Assignee: Benjamin Caimano (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-49072 Make ServiceExecutors into Decorations Closed
is depended on by SERVER-49109 Attach fixed thread pool ServiceExecu... Closed
Documented
is documented by DOCS-14120 Investigate changes in SERVER-48980: ... Closed
Related
is related to SERVER-34986 CIDR Block That is Exempt from maxConns Closed
is related to SERVER-50867 Roll back ServiceStateMachine changes... Closed
Backwards Compatibility: Fully Compatible
Sprint: Service Arch 2020-07-27, Service Arch 2020-08-10, Service Arch 2020-08-24, Service arch 2020-09-07
Participants:

 Description   

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.



 Comments   
Comment by Githook User [ 14/Sep/20 ]

Author:

{'name': 'Ben Caimano', 'email': 'ben.caimano@10gen.com'}

Message: SERVER-50867 Roll back ServiceStateMachine changes temporarily

This reverts these commits:
b039b24746e1d1fb10a32e1ca4831423c01d4cd7: SERVER-48980
97e16187ff3065d242a61a52e7b6edd4d439fb30: SERVER-49072
0607a6c291bf4cf4580a4444d826ed3c3ac3df47: SERVER-49104
Branch: master
https://github.com/mongodb/mongo/commit/827a25eb01bc5ddf766b3a543ef0ba5112953e1b

Comment by Githook User [ 14/Sep/20 ]

Author:

{'name': 'Ben Caimano', 'email': 'ben.caimano@10gen.com'}

Message: SERVER-50867 Roll back ServiceStateMachine changes temporarily

This reverts these commits:
b039b24746e1d1fb10a32e1ca4831423c01d4cd7: SERVER-48980
97e16187ff3065d242a61a52e7b6edd4d439fb30: SERVER-49072
0607a6c291bf4cf4580a4444d826ed3c3ac3df47: SERVER-49104
Branch: fixed_thread_pool_handshaking
https://github.com/mongodb/mongo/commit/575f370475bd31fc457a93a776061f1b80448028

Comment by Githook User [ 31/Aug/20 ]

Author:

{'name': 'Ben Caimano', 'email': 'ben.caimano@10gen.com'}

Message: SERVER-48980 Associate ServiceExecutors with Clients
Branch: master
https://github.com/mongodb/mongo/commit/b039b24746e1d1fb10a32e1ca4831423c01d4cd7

Generated at Thu Feb 08 05:18:36 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.