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

Change internal client to stop issuing the "availableQueryOptions" command

    XMLWordPrintable

Details

    • Improvement
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 5.2.0
    • Internal Client
    • None
    • Fully Compatible
    • QE 2021-11-01

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              david.storch@mongodb.com David Storch
              david.storch@mongodb.com David Storch
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: