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

Change internal client code to only support the OP_MSG RPC protocol

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.1.0-rc0
    • Component/s: None
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Sprint:
      QE 2021-08-09

      Description

      During the connection handshake, the internal client will run a hello command to determine the RPC protocols supported by the server. Using knowledge of its own supported protocols in DBClientBase::_clientRPCProtocls, it decides which protocol it should use to run subsequent commands on the connection.

      Since we are removing support for OP_QUERY commands, we should change the internal client so that it only supports OP_MSG. This involves the following:

      • Deleting ScopedForceOpQuery.
      • Deleting ShellGlobalParams::rpcProtocols.
      • Deleting DBClientBase::setClientRPCProtocols().
      • Getting rid of the DBClientBase::_clientRPCProtocols and instead hardcoding OP_MSG as the only supported protocol.

      This work will not go as far as to delete the RPC protocol negotiation altogether. We may want to keep this logic in place in case we ever want to add a new RPC protocol that is neither OP_QUERY nor OP_MSG. Any further simplification to the RPC protocol negotiation is tracked by related ticket SERVER-58210.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              yoonsoo.kim Yoon Soo Kim
              Reporter:
              david.storch David Storch
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: