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

Make internal clients identify themselves in the isMaster handshake

    • Type: Icon: Improvement Improvement
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.4.0-rc2
    • Affects Version/s: None
    • Component/s: Sharding
    • Labels:
    • Fully Compatible
    • Query 2016-10-31

      It will be helpful for a mongod to be able to distinguish connections from a mongos/mongod of a particular version from connections from applications. This identifying information could be helpful in order to ensure correctness when a cluster is running in a mixed-version configuration (i.e. during an upgrade or downgrade).

      When mongos or mongod initialize an outgoing connection, they should include an internalClient field in the isMaster command. This field has the following format:

      internalClient: {
          minWireVersion: <int>,
          maxWireVersion: <int>

      In this way, the client communicates both that it is also a node in the cluster as well as the range of wire protocols which it supports.

            david.storch@mongodb.com David Storch
            david.storch@mongodb.com David Storch
            0 Vote for this issue
            7 Start watching this issue