Allow Instantiated MongoClients to Send Client Metadata On-Demand

XMLWordPrintableJSON

    • Type: Epic
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Component/s: Handshake, Networking
    • Allow Instantiated MongoClients to Send Client Metadata On-Demand
    • Database Experience
    • None
    • Hide

      Summary of necessary driver changes

      • Add API to MongoClient to support appending metadata (driver name, version, platform) after it’s been created and initialized.

      Commits for syncing spec/prose tests
      (and/or refer to an existing language POC if needed)

      Show
      Summary of necessary driver changes Add API to MongoClient to support appending metadata (driver name, version, platform) after it’s been created and initialized. Commits for syncing spec/prose tests (and/or refer to an existing language POC if needed) Unified spec tests: yml json Prose tests: README
    • In Progress
    • 2.5
    • 0
    • 0
    • 100
    • Hide

      2025-06-19

      Last two weeks?

      • Received suggestions on the spec related to tests. Addressed the feedback and added unified tests.
      • The spec got merged.
      • Python implementation is in review.

      Focus over the next two weeks?

      • Driver teams received tickets for triage and planning and may begin implementation.

      Any risks/blockers?

      • None

      2025-06-05

      Last two weeks?

      • Put the specification and Java driver changes into review

      Focus over the next two weeks?

      • Monitor the spec review process and incorporate any required changes into specification and Java driver PRs as they arise.

      Any risks/blockers?

      • None
      Show
      2025-06-19 Last two weeks? Received suggestions on the spec related to tests. Addressed the feedback and added unified tests. The spec got merged. Python implementation is in review. Focus over the next two weeks? Driver teams received tickets for triage and planning and may begin implementation. Any risks/blockers? None 2025-06-05 Last two weeks? Put the specification and Java driver changes into review Focus over the next two weeks? Monitor the spec review process and incorporate any required changes into specification and Java driver PRs as they arise. Any risks/blockers? None
    • Needed
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-5993 Backlog
      CXX-3274 Backlog
      CSHARP-5576 Needs Triage
      GODRIVER-3544 Backlog
      JAVA-5854 In Progress
      NODE-6923 In Progress
      MOTOR-1458 Duplicate
      PYTHON-5344 Fixed 4.14
      PHPLIB-1673 Execution Blocked
      RUBY-3655 Backlog
      RUST-2203 Backlog
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } #scriptField td.willNotDo { background-color: #FF0000; /* Red color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-5993 Backlog CXX-3274 Backlog CSHARP-5576 Needs Triage GODRIVER-3544 Backlog JAVA-5854 In Progress NODE-6923 In Progress MOTOR-1458 Duplicate PYTHON-5344 Fixed 4.14 PHPLIB-1673 Execution Blocked RUBY-3655 Backlog RUST-2203 Backlog
    • None
    • None
    • None
    • None
    • None
    • None

      MongoDB’s handshake protocol was designed in 2016 to allow client metadata to be recorded in a mongos or mongod log about the environment an application was connecting from. This was expanded in 2019 to support capturing additional details about libraries that wrap MongoDB’s drivers - such as ODMs or framework integrations.

      This expansion was sufficient for scenarios where a MongoClient was being instantiated directly within the wrapping library or integration, however when those environments instead take an instance of a MongoClient as a parameter, there is no way to record further metadata by (re)sending the initial handshake.

            Assignee:
            Slav Babanin
            Reporter:
            Alex Bevilacqua
            Jeffrey Yemin Jeffrey Yemin
            Tom Selander Tom Selander
            Alex Bevilacqua Alex Bevilacqua
            None
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              None
              None