-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Service Arch 2019-12-30, Service Arch 2020-01-13, Service Arch 2020-01-27, Service Arch 2020-02-10, Service Arch 2020-02-24
The normal chain for a command request goes like this:
- Local Request object construction
- [ThreadPool]TaskExecutor::scheduleRemoteCommand()
- NetworkInterface[TL]::startCommand()
- AsyncDBClient::runCommandRequest()
Each layer needs to have be expanded to allow at least a Status-returning callback to process each exhaust message. SERVER-41549 might be a natural consequence of this work.
- depends on
-
SERVER-45109 Modify AsyncDBClient to allow exhaust requests
- Closed
- is depended on by
-
SERVER-44951 Expand TaskExecutor to implement scheduleExhaustRemoteCommand()
- Closed
- related to
-
SERVER-58310 ThreadPoolTaskExecutor is memory unsafe when task cancellation occurs around the same time an exhaust network response is received
- Closed