Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-61385

Migrate most callers of legacy 'DBClientBase::query()' API to modern 'find()' API

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.3.0
    • Component/s: Internal Client
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Sprint:
      QE 2021-11-29, QE 2021-12-13, QE 2021-12-27
    • Linked BF Score:
      64

      Description

      Related ticket SERVER-59512 recently introduced a new API to DBClientBase for performing find operations. This API accepts a FindCommandRequest, in contrast to the legacy DBClientBase::query() overloads. The legacy DBClientBase::query() API requires the caller to specify the find operation as though it were an OP_QUERY find. This is undesirable because the system no longer supports OP_QUERY find. Therefore, the internal client code is required to upconvert the OP_QUERY find description into an OP_MSG find command before actually sending it over the wire.

      The goal of this ticket is to move callers of the legacy DBClientBase::query() API onto the new DBClientBase::find() API. Once this migration is complete, the code which implements DBClientBase::query(), including the special upconversion logic mentioned above, should be deleted. This may need to be done in multiple steps, depending on the complexity and the scope of the code changes.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              david.storch David Storch
              Reporter:
              david.storch David Storch
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: