-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
QE 2021-08-09
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.
- is related to
-
SERVER-58210 Clean up the code for rpc protocol negotiation of the shell (or not)
- Closed