[SERVER-68208] Don't let the ServiceExecutorFixed (or anyone) call run on the ingress reactor Created: 21/Jul/22  Updated: 05/Dec/22

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

Type: Task Priority: Major - P3
Reporter: George Wangensteen Assignee: Backlog - Service Architecture
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-58080 Remove asynchronous networking from S... Closed
Assigned Teams:
Service Arch
Participants:

 Description   

Due to https://github.com/chriskohlhoff/asio/issues/240, we should never call run on the ingress reactor - that iocontext shared by synchronous sockets should never have run called on it, because the reactor will spuriously wakeup every timeĀ  synchronous networking is performed on those sockets even though it will have nothing to do. But we're currently doing so in ServiceExecutorFixed::start (https://github.com/mongodb/mongo/blob/75a7e2a20b345bcca9601756f64a84ffbcdaf4b1/src/mongo/transport/service_executor_fixed.cpp) which I believe we call unconditionally when starting the service entry point https://github.com/mongodb/mongo/blob/75a7e2a20b345bcca9601756f64a84ffbcdaf4b1/src/mongo/transport/service_entry_point_impl.cpp#L272


Generated at Thu Feb 08 06:10:11 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.