Design a data structure to temporarily store the identified prepared transactions in recovery

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Transactions
    • None
    • Storage Engines, Storage Engines - Transactions
    • SE Transactions - 2025-08-29
    • 8

      Design a data structure to store all the identified prepared transactions and their updates in recovery. The prototype implementation stores the updates in an internal session and uses an array to store the internal sessions with prepared transactions.

      This approach limits the number of prepared transactions to the number of sessions we can concurrently open, which is not scalable.

      We need to design a data structure to allow us store arbitrary number of prepared transactions in recovery.

      A simple idea is to create a structure __wt_prepared_txn to store all the WT_TXN_OP of a prepared transaction without initializing a real session and transaction. Then we can use a hashmap to identify the prepared transaction with its prepared id.

              Assignee:
              [DO NOT USE] Backlog - Storage Engines Team
              Reporter:
              Chenhao Qu
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: