[SERVER-58703] Change internal client code to only support the OP_MSG RPC protocol Created: 20/Jul/21  Updated: 29/Oct/23  Resolved: 02/Aug/21

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 5.1.0-rc0

Type: Task Priority: Major - P3
Reporter: David Storch Assignee: Yoon Soo Kim
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-58210 Clean up the code for rpc protocol ne... Closed
Backwards Compatibility: Fully Compatible
Sprint: QE 2021-08-09
Participants:

 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.



 Comments   
Comment by Vivian Ge (Inactive) [ 06/Oct/21 ]

Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you!

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