Modify AsyncDBClient to allow exhaust requests

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.3.4
    • 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
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      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.

            Assignee:
            Janna Golden
            Reporter:
            Benjamin Caimano (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: