-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Service Arch 2019-12-16, Service Arch 2020-01-27, Service Arch 2020-02-10
Many functions on AsyncDBClient chain via _call(). To allow AsyncDBClient to serve exhaust responses, we need to separate out the "source" part of its pattern as _waitForResponse(). We can then write runExhaustCommand()/runExhaustCommandRequest() commands that call the "source" part as long as OpMsg::kMoreToCome is set. To test this, we'll want a trivial command that we can treat as exhaust with little other logic: sleep.
In summary, there are three parts:
- Make sleep an exhaust command
- Write and integrate AsyncDBClient::_waitForResponse() to allow tailing.
- Test AsyncDBClient::runExhaustCommand() with sleep in integration test.
- is depended on by
-
SERVER-44951 Expand TaskExecutor to implement scheduleExhaustRemoteCommand()
- Closed
-
SERVER-45114 Connect AsyncDBClient exhaust functionality throughout
- Closed