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

Clarify whether heartbeat started event should be emitted before connection establishment in ServerMonitor

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • None
    • Component/s: SDAM
    • Needed
    • Hide

      Summary of necessary driver changes

      • Ensure that ServerHeartbeatStarted events are emitted before monitoring connection is established.
        • Note that when measuring heartbeat duration, it should not include the time taken to establish the connection
      • Implement new prose test (referenced below)

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

      Show
      Summary of necessary driver changes Ensure that ServerHeartbeatStarted events are emitted before monitoring connection is established. Note that when measuring heartbeat duration, it should not include the time taken to establish the connection Implement new prose test (referenced below) Commits for syncing spec/prose tests (and/or refer to an existing language POC if needed) Prose test defined here: https://github.com/mongodb/specifications/pull/1483 Node driver prose test implementation: https://github.com/mongodb/node-mongodb-native/pull/3960  
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-4758 Backlog
      CXX-2781 Backlog
      CSHARP-4831 Done 2.24.0
      GODRIVER-3036 Fixed 1.13.2
      JAVA-5230 Backlog
      NODE-5724 Fixed 6.4.0
      MOTOR-1206 Duplicate
      PYTHON-4022 Fixed 4.7
      PHPLIB-1301 Blocked
      RUBY-3345 Backlog
      RUST-1792 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 */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-4758 Backlog CXX-2781 Backlog CSHARP-4831 Done 2.24.0 GODRIVER-3036 Fixed 1.13.2 JAVA-5230 Backlog NODE-5724 Fixed 6.4.0 MOTOR-1206 Duplicate PYTHON-4022 Fixed 4.7 PHPLIB-1301 Blocked RUBY-3345 Backlog RUST-1792 Blocked

      Summary

      There is no consistency among drivers on when heartbeat started event is emitted.
      Some drivers (Rust, Node) emit the event before monitoring connection is established, some like (Java, .Net) emit the event after connection establishment, just before the 'hello'.

      In the case _heartbeat started event should be emitted after connection establishment, SDAM logging tests should be updated to include serverConnectionId._

      Motivation

      Who is the affected end user?

      Drivers, tech debt.

      How does this affect the end user?

      No considerable impact. Consistency of heartbeat event duration.

      How likely is it that this problem or use case will occur?

      Main path.

      If the problem does occur, what are the consequences and how severe are they?

      Inconsistency of events emission among drivers.

      Is this issue urgent?

      No.

      Is this ticket required by a downstream team?

      No.

      Is this ticket only for tests?

      No.

      Acceptance Criteria

      What specific requirements must be met to consider the design phase complete?

            Assignee:
            warren.james@mongodb.com Warren James
            Reporter:
            boris.dogadov@mongodb.com Boris Dogadov
            Shane Harvey Shane Harvey
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: