Refine withTransaction timeout error wrapping semantics and label propagation in spec and prose tests

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Component/s: Backpressure
    • None

      Summary

      The spec changes introduced in DRIVERS-3391 added Note 1 to the withTransaction Sequence of Actions, describing how timeout errors should be reported. During the review of PR #1899, several areas were identified where the wording could be clearer.

      Clarifications Needed

      1. Only wrap retriable errors with makeTimeoutError
        1. In sections 7.4 & 10.3 of the sequence-of-actions the errors are not retriable, and they are mainly the reason for returning immediately from withTransaction)
      2. Update the prose test to assert that the error labels on the propagated timeout error match the error labels of the wrapped error.
      3. Consistent wording:
        1. Replace SHOULD expose error label(s) from the transient error with a {{SHOULD }} requirement to copy all error labels from the wrapped error to the wrapping timeout error.
        2. Replace "underlying error" with "wrapped error" for consistent terminology.
        3. Replace use of "raise" with "propagate" for consistency.
        4. Turn "Note 1" into a section and reference it.

            Assignee:
            Nabil Hachicha
            Reporter:
            Nabil Hachicha
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: