[CSHARP-2490] Reimplement SDAM to follow the spec more closely Created: 25/Jan/19  Updated: 31/Mar/22

Status: Backlog
Project: C# Driver
Component/s: Connectivity
Affects Version/s: None
Fix Version/s: None

Type: Epic Priority: Minor - P4
Reporter: Robert Stam Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: rp-track
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by CSHARP-3840 Unresponsive/deadlocked cluster.Dispo... Blocked
is depended on by CSHARP-3841 Unobserved exceptions in RoundTripTim... Blocked
Related
related to CSHARP-2115 Highly contested startup doesn't reso... Closed
related to CSHARP-3761 Reimplement SDAM to use a dedicated t... Closed
is related to CSHARP-1895 System.TimeoutException: A timeout oc... Closed
is related to CSHARP-3813 Suppress execution context flow when ... Closed
Quarter: FY21Q4
Case:

 Description   

The current implementation of heartbeats uses async code. It was also written before the SDAM spec was written.

The code would be simpler if it used a dedicated thread and sync calls. A dedicated thread would also protect the SDAM code from being starved from running when an application misuses Tasks in a way that interferes with the SDAM Tasks from getting a chance to run.

The SDAM code should be completely re-implemented to:

1. Follow the SDAM spec more closely which would involve using the same names and logic flow
2. Use a dedicated thread and sync driver calls (not async code)



 Comments   
Comment by Rachelle Palmer [ 11/Jun/20 ]

HI alexvy86 - no problem, I have deleted the screenshots.

Comment by Alejandro Villarreal [ 13/May/20 ]

Hmm I did not intend to upload those screenshots here, I probably dragged them to the wrong window by mistake.

Comment by Robert Stam [ 25/Jan/19 ]

See the test program for CSHARP-2115 for an example of an application that misuses Tasks in a way that prevents SDAM from running in a timely fashion.

Generated at Wed Feb 07 21:42:42 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.