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

Handle TemporarilyUnavailableException in prepared transactions application

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.2.0-rc0, 7.1.0-rc3, 7.0.3
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Catalog and Routing
    • Fully Compatible
    • ALL
    • v7.1, v7.0, v6.0
    • Execution EMEA Team 2023-09-04, Execution EMEA Team 2023-09-18
    • 114

      Applying operations for a prepared transaction catches exceptions returns them as a Status. This escapes the caller's writeConflict retry block. The block re-throws a WriteConflict status to its exception, but fails to do the same for the TemporarilyUnavailableException (TUE) and trips an fassert.

      We should at a minimum catch the TUE and rethrow it. Ideally, we should convert the code to throw directly instead of catching and returning a status.

            yujin.kang@mongodb.com Yujin Kang Park
            josef.ahmad@mongodb.com Josef Ahmad
            0 Vote for this issue
            6 Start watching this issue