[CSHARP-3775] Make root cause of errors more visible in error messages Created: 30/Jul/21  Updated: 31/Mar/22

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

Type: Improvement Priority: Major - P3
Reporter: James Kovacs Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by CSHARP-3773 Provide more details in MongoWaitQueu... Closed
Related
related to CSHARP-2919 Simplify server description string in... Backlog

 Description   

A wide variety of connectivity errors surface as timeouts, especially timeouts in server selection or MongoWaitQueueFullExceptions. The root cause is often buried in the inner exception, cached cluster topology (e.g. no primary), or stack trace (e.g. DNS problems). To a user, this can appear as an opaque wall of error information, which is difficult to parse and interpret.

We should examine common exception messages produced by our driver and surface salient information in the top-level error message. For example, when server selection fails, the top-level error should contain a human-readable description of the topology clearly identifying the state of each node, the last heartbeat time, the average RTT, tags, etc. At a glance the user should be able to see that the write operation tried to select a primary, the driver can't see the current primary, and no heartbeats have been received in the past 90 seconds.


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