Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-64663

Improve internal transaction API interactions with expected errors

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Gone away
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Sharding NYC 2022-04-18, Sharding 2022-05-02

    Description

      The internal transaction API assumes its transactions will succeed and will automatically attempt to commit if no errors are thrown, or abort if an exception is returned. If the transaction expects to hit some errors and wants to handle them specially, it can be difficult to disable the automatic commits/aborts which can throw errors that might swallow the expected error or trigger a transient transaction error retry. There's a similar issue with unyielding a ResourceYielder throwing an error if the underlying transaction aborted, which can also mask the original error.

      The API should be improved to handle this use case more gracefully.

      Attachments

        Activity

          People

            jack.mulrow@mongodb.com Jack Mulrow
            jack.mulrow@mongodb.com Jack Mulrow
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: