Make RecoveryUnit::Change commit and rollback interfaces noexcept

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.2.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Storage Execution
    • Fully Compatible
    • Execution Team 2024-10-14, Execution Team 2024-10-28, Execution Team 2024-11-11, Execution Team 2024-11-25, Execution Team 2024-12-23, Execution Team 2025-01-06, Storage Execution 2025-03-31
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      They are currently de-facto noexcept as std::terminate is called if commit or rollback throw. But we should make this explicit for users implementing this interface by changing the interface to use the noexcept keyword.

       

      After SERVER-68256 we have four implementations of iterating and invoking callbacks:

      • _executeCommitHandlers()
      • _executeRollbackHandlers()
      • _executeOpenSnapshotHandlers()
      • _executeCloseSnapshotHandlers()

      We should look into providing an abstraction for this.

              Assignee:
              Gregory Noma
              Reporter:
              Henrik Edin
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: