Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-2985

Allow Instantiated MongoClients to Send Client Metadata On-Demand

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

      Summary of necessary driver changes

      •  

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

      •  

      Context for other referenced/linked tickets

      •  
      Show
      Summary of necessary driver changes   Commits for syncing spec/prose tests (and/or refer to an existing language POC if needed)   Context for other referenced/linked tickets  
    • In Progress
    • 2.5
    • 0
    • 0
    • 100
    • None
    • Needed
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-5993 Execution Blocked
      CXX-3274 Execution Blocked
      CSHARP-5576 Execution Blocked
      GODRIVER-3544 Execution Blocked
      JAVA-5854 Execution Blocked
      NODE-6923 Execution Blocked
      MOTOR-1458 Execution Blocked
      PYTHON-5344 Execution Blocked
      PHPLIB-1673 Execution Blocked
      RUBY-3655 Execution Blocked
      RUST-2203 Execution Blocked
      $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 Execution Blocked CXX-3274 Execution Blocked CSHARP-5576 Execution Blocked GODRIVER-3544 Execution Blocked JAVA-5854 Execution Blocked NODE-6923 Execution Blocked MOTOR-1458 Execution Blocked PYTHON-5344 Execution Blocked PHPLIB-1673 Execution Blocked RUBY-3655 Execution Blocked RUST-2203 Execution Blocked

      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@mongodb.com Slav Babanin
            Reporter:
            alex.bevilacqua@mongodb.com Alex Bevilacqua
            Jeffrey Yemin Jeffrey Yemin
            Tom Selander Tom Selander
            Alex Bevilacqua Alex Bevilacqua
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              None