[DOCS-14893] Investigate changes in SERVER-60749: Change internal client to stop issuing the "availableQueryOptions" command Created: 25/Oct/21  Updated: 13/Nov/23  Resolved: 21/Dec/21

Status: Closed
Project: Documentation
Component/s: manual, Server
Affects Version/s: None
Fix Version/s: 5.2.0, Server_Docs_20231030, Server_Docs_20231106, Server_Docs_20231105, Server_Docs_20231113

Type: Task Priority: Major - P3
Reporter: Backlog - Core Eng Program Management Team Assignee: Jeffrey Allen
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Documented
documents SERVER-60749 Change internal client to stop issuin... Closed
Participants:
Days since reply: 2 years, 3 weeks ago
Epic Link: DOCSP-17171
Story Points: 3

 Description   
Downstream Change Summary

Downstream teams should confirm that their code will never issue the "availableQueryOptions" command against a 5.2 mongod or mongos. This patch removes support for "availableQueryOptions" from mongos. The "availableQueryOptions" command is scheduled for full deletion in SERVER-60892, which should be implemented for 6.1 after we have branched for the 6.0 long term support release.

We still document this command, even though it is marked as internal: https://docs.mongodb.com/upcoming/reference/command/availableQueryOptions/#mongodb-dbcommand-dbcmd.availableQueryOptions. We should remove the documentation for it. (The existing documentation is inaccurate anyway, since the command was previously available on both mongos and mongod. But this is beside the point.)

Description of Linked Ticket

When DBClientConnection is asked by a caller to run an exhaust query, it has logic to check that the remote node supports exhaust. This is implemented by running the "availableQueryOptions" command against the remote node. We should remove this logic from the internal client for a few reasons:

  • Feature discovery has long been implemented based on the minWireVersion and maxWireVersion returned by the "hello" command on connection handshake. The "availableQueryOptions" command appears to be an outdated feature discovery mechanism that has been replaced by the wire version.
  • Only the internal client uses "availableQueryOptions". Drivers do not. Therefore, the "availableQueryOptions" command can itself be removed once it is no longer used internally.
  • All mongod versions going back to at least 3.0 support exhaust. Therefore, a 5.1 or 5.2 node will never have to communicate with a node that does not support exhaust. The check as to whether exhaust is supported is completely unnecessary.


 Comments   
Comment by Githook User [ 20/Jan/22 ]

Author:

{'name': 'jeff-allen-mongo', 'email': 'jeffrey.allen@10gen.com', 'username': 'jeff-allen-mongo'}

Message: (DOCS-14893): Remove availableQueryOptions command (#170)
Branch: v5.2
https://github.com/10gen/docs-mongodb-internal/commit/b6970720a3d222091f98c0fd38dfad65e789f13c

Comment by Githook User [ 21/Dec/21 ]

Author:

{'name': 'jeff-allen-mongo', 'email': 'jeffrey.allen@10gen.com', 'username': 'jeff-allen-mongo'}

Message: (DOCS-14893): Remove availableQueryOptions command (#170)
Branch: v5.3
https://github.com/mongodb/docs/commit/b6970720a3d222091f98c0fd38dfad65e789f13c

Comment by Githook User [ 21/Dec/21 ]

Author:

{'name': 'jeff-allen-mongo', 'email': 'jeffrey.allen@10gen.com', 'username': 'jeff-allen-mongo'}

Message: (DOCS-14893): Remove availableQueryOptions command (#170)
Branch: master
https://github.com/mongodb/docs/commit/b6970720a3d222091f98c0fd38dfad65e789f13c

Comment by PM Bot [ 25/Oct/21 ]

Downstream changes updated for upstream SERVER-60749:
Downstream teams should confirm that their code will never issue the "availableQueryOptions" command against a 5.2 mongod or mongos. This patch removes support for "availableQueryOptions" from mongos. The "availableQueryOptions" command is scheduled for full deletion in SERVER-60892, which should be implemented for 6.1 after we have branched for the 6.0 long term support release.

We still document this command, even though it is marked as internal: https://docs.mongodb.com/upcoming/reference/command/availableQueryOptions/#mongodb-dbcommand-dbcmd.availableQueryOptions. We should remove the documentation for it. (The existing documentation is inaccurate anyway, since the command was previously available on both mongos and mongod. But this is beside the point.)

Generated at Thu Feb 08 08:11:27 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.