Split wiredTigerPrepareConflictRetry into fast and slow paths

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 7.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • Security 2023-06-26
    • 4
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      wiredTigerPrepareConflictRetry is a 87 line function that is used twice in WiredTigerRecordStoreCursorBase::next. This function consists of a fast and slow path. The fast path is called when there are no errors and the function exits early. The slow path waits for other transactions to be committed. This function can be split into a part that can be inlined and a separate function that calls a lambda in the slow case. This will save code duplication and shrink function size.

            Assignee:
            Mark Benvenuto
            Reporter:
            Mark Benvenuto
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: