[SERVER-45109] Modify AsyncDBClient to allow exhaust requests Created: 12/Dec/19  Updated: 29/Oct/23  Resolved: 28/Jan/20

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

Type: Improvement Priority: Major - P3
Reporter: Benjamin Caimano (Inactive) Assignee: Janna Golden
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-44951 Expand TaskExecutor to implement sche... Closed
is depended on by SERVER-45114 Connect AsyncDBClient exhaust functio... Closed
Backwards Compatibility: Fully Compatible
Sprint: Service Arch 2019-12-16, Service Arch 2020-01-27, Service Arch 2020-02-10
Participants:

 Description   

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.


 Comments   
Comment by Githook User [ 28/Jan/20 ]

Author:

{'email': 'janna.golden@mongodb.com', 'username': 'jannaerin', 'name': 'Janna Golden'}

Message: SERVER-45109 Modify AsyncDBClient to allow exhaust requests
Branch: master
https://github.com/mongodb/mongo/commit/f76c092162f8bc8f12696064ca6e866c1ba607bf

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