[SERVER-49072] Make ServiceExecutors into Decorations Created: 24/Jun/20  Updated: 29/Oct/23  Resolved: 17/Aug/20

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

Type: New Feature 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
is depended on by SERVER-48980 Associate ServiceExecutors with Clients Closed
Related
is related to SERVER-50867 Roll back ServiceStateMachine changes... Closed
Backwards Compatibility: Fully Compatible
Sprint: Service arch 2020-07-13, Service Arch 2020-07-27, Service Arch 2020-08-10, Service Arch 2020-08-24
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, it schedules 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 a Client to chose its own ServiceExecutor, so we need to provide stronger lifetime guarantees and better access patterns.

Each ServiceExecutor should be a Decoration on the ServiceContext (here is an example). This makes these executors close to immortal.
We'll also want to move the logic for when to chose if we use the ServiceExecutorReserved into the ServiceStateMachine after we make the client here.



 Comments   
Comment by Githook User [ 17/Nov/20 ]

Author:

{'name': 'Reo Kimura', 'email': 'reo.kimura@mongodb.com', 'username': 'rkimura21'}

Message: SERVER-49072 Make ServiceExecutors into Decorations
Branch: master
https://github.com/mongodb/mongo/commit/ab0703b3c6ad1607fa224c5be2b893ddbdad365e

Comment by Githook User [ 17/Nov/20 ]

Author:

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

Message: SERVER-49072 Make ServiceExecutors into Decorations
Branch: master
https://github.com/10gen/mongo-enterprise-modules/commit/de143029f1057bc6607d2b0e8e89c55bdfba14cf

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 [ 14/Aug/20 ]

Author:

{'name': 'Reo Kimura', 'email': 'reo.kimura@mongodb.com', 'username': 'rkimura21'}

Message: SERVER-49072 Make ServiceExecutors into Decorations
Branch: master
https://github.com/mongodb/mongo/commit/97e16187ff3065d242a61a52e7b6edd4d439fb30

Comment by Githook User [ 14/Aug/20 ]

Author:

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

Message: SERVER-49072 Make ServiceExecutors into Decorations
Branch: master
https://github.com/10gen/mongo-enterprise-modules/commit/96e5ab8c9e0b20e58b81e5e8bf60d2a582c58d62

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