Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-11612

Extend WT functional model to support non-prepared transactions

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT11.2.0, 7.2.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None

      Expand the functional model of WiredTiger developed in WT-11611 to support regular, non-prepared transactions.

      To do this, we need to:

      • Add transaction structs or transaction IDs to the model's data structures and APIs. This has to be done carefully, because if we feed the IDs from a real system, we may get repeated IDs across restarts.
      • Add the relevant transaction management operations: begin, commit, rollback.
      • Add the relevant transactional data operations: put, delete. (Reads are not necessary for our purposes, but we can still consider adding them. They may, however, take more work due to faithfully emulate MVCC.)
      • Add a set_timestamp operation to create transactions with multiple commit/durable timestamps.

      A transaction can be internally implemented as a collection of uncommitted updates, but we can also consider inserting uncommitted transactions directly to the model.

      It is currently TBD whether we need to consider transaction conflicts at this stage.

            Assignee:
            peter.macko@mongodb.com Peter Macko
            Reporter:
            stoney.burks@mongodb.com Stoney Burks
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: