Enhance Mongo::Error::Notable to handle strings and Error objects

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Dev Exp
    • None
    • None
    • Ruby Drivers
    • None
    • None
    • None
    • None
    • None
    • None

      Currently the Mongo::Error::Notable#add_note API is used to append a string to the @notes array.

      If a retryable error occurs, context about the error is appended as a note, but the error object itself is not retained, which can make it more challenging to inspect the original error without resorting to string introspection.

      Errno::EPIPE: Broken pipe (for /tmp/abc.sock) (on /tmp/abc.sock, connection 1:25, service id fake:3086912560, modern retry, attempt 1, later retry failed: Mongo::Error::OperationFailure: [11000]: E11000 duplicate key error collection: abc.xyz index: ip_address_1 dup key: { ip_address: "192.168.0.1" } (on /tmp/abc.sock, modern retry))
      

      For example, in the above scenario the error code from the operation failure could not be targeted directly, but would need to be extracted from the Mongo::Error#notes.to_s instead.

      The original error object should be made accessible in these scenarios.

            Assignee:
            Unassigned
            Reporter:
            Alex Bevilacqua
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: