Uploaded image for project: 'Java Driver'
  1. Java Driver
  2. JAVA-2266

Implement The MongoDB Handshake Protocol

    • Type: Icon: New Feature New Feature
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 3.4.0
    • Affects Version/s: None
    • Component/s: Connection Management
    • None

      https://github.com/mongodb/specifications/blob/master/source/mongodb-handshake/handshake.rst

      TL;DR: Every socket connecting to MongoDB MUST issue isMaster announcing itself to the server with the following pseudo document.
      There is also new connection URI field appname the user can provide (client.application.name) which the server will write out in its logs and profile entries, making correlating server log entries to respective applications trivial.

      isMaster({
          client: {
              /* OPTIONAL. If present, the "name" is REQUIRED */
              application: {
                  name: "<string>"
              },
              /* REQUIRED, including all sub fields */
              driver: {
                  name: "<string>",
                  version: "<string>"
              },
              /* REQUIRED */
              os: {
                  type: "<string>",         /* REQUIRED */
                  name: "<string>",         /* OPTIONAL */
                  architecture: "<string>", /* OPTIONAL */
                  version: "<string>"       /* OPTIONAL */
              },
              /* OPTIONAL */
              platform: "<string>"
          }
      })
      

            Assignee:
            jeff.yemin@mongodb.com Jeffrey Yemin
            Reporter:
            rathi.gnanasekaran Rathi Gnanasekaran
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: