Uploaded image for project: 'C# Driver'
  1. C# Driver
  2. CSHARP-3775

Make root cause of errors more visible in error messages

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Error Handling
    • Labels:
      None

      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.

            Assignee:
            Unassigned Unassigned
            Reporter:
            james.kovacs@mongodb.com James Kovacs
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: