[DRIVERS-2677] Clarify whether heartbeat started event should be emitted before connection establishment in ServerMonitor Created: 19/Jul/23  Updated: 23/Jan/24

Status: Implementing
Project: Drivers
Component/s: SDAM
Fix Version/s: None

Type: Task Priority: Unknown
Reporter: Boris Dogadov Assignee: Warren James
Resolution: Unresolved Votes: 0
Labels: jeff+, leads-triage
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by GODRIVER-2966 ServerHeartbeatStartedEvent does not ... Closed
is depended on by DRIVERS-1670 Add log messages to SDAM spec Implementing
Issue split
split to CDRIVER-4758 Clarify whether heartbeat started eve... Backlog
split to CXX-2781 Clarify whether heartbeat started eve... Backlog
split to JAVA-5230 Clarify whether heartbeat started eve... Backlog
split to PYTHON-4022 Clarify whether heartbeat started eve... Backlog
split to RUBY-3345 Clarify whether heartbeat started eve... Backlog
split to PHPLIB-1301 Clarify whether heartbeat started eve... Blocked
split to CSHARP-4831 Clarify whether heartbeat started eve... Closed
split to GODRIVER-3036 Clarify whether heartbeat started eve... Closed
split to MOTOR-1206 Clarify whether heartbeat started eve... Closed
split to NODE-5724 Clarify whether heartbeat started eve... Closed
split to RUST-1792 Clarify whether heartbeat started eve... Scheduled
Related
is related to GODRIVER-2966 ServerHeartbeatStartedEvent does not ... Closed
is related to NODE-5840 Heartbeat durations are measured inco... Closed
Driver Changes: Needed
Quarter: FY24Q4
Downstream Changes Summary:

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)

Engineering Lead: Shane Harvey Shane Harvey
Start date:
Driver Compliance:
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 Backlog 4.7
PHPLIB-1301 Blocked
RUBY-3345 Backlog
RUST-1792 Scheduled

 Description   

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?



 Comments   
Comment by Githook User [ 17/Jan/24 ]

Author:

{'name': 'Warren James', 'email': 'warren.james@mongodb.com', 'username': 'W-A-James'}

Message: DRIVERS-2677: clarify when ServerHeartbeatStartedEvent should be emitted (#1483)
Branch: master
https://github.com/mongodb/specifications/commit/f1bbc245e68916ab76cb831f6372aa5d6a50ed25

Generated at Thu Feb 08 08:26:10 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.