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

Enhance cursor operations to account for prepare state

    • Type: Icon: New Feature New Feature
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.4, 3.7.4, WT3.1.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Storage 2018-02-26, Storage Non-NYC 2018-03-12

      We have recently added a WT_SESSION::prepare_transaction API stub, and will implement transaction visibility on updates as part of WT-3850. Once that work is done, we need to implement code in cursor operations, so we do the right thing when an operation encounters a WT_UPDATE structure in the prepared state.

      This involves changing read operations to:
      Check txn ID visible.
      Continue to loop if state is ‘WT_UPDATE_LOCKED’.
      If state is ‘WT_UPDATE_PREPARE’
      Read timestamp to local.
      Is state ‘WT_UPDATE_PREPARE’.

      This involves changing update operations to:
      Return either WT_ROLLBACK or WT_PREPARE_CONFLICT when it encounters WT_UPDATE structures in a prepared state.

            vamsi.krishna@mongodb.com Vamsi Boyapati
            alexander.gorrod@mongodb.com Alexander Gorrod
            0 Vote for this issue
            2 Start watching this issue