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

Relax commit timestamp check for prepared transactions

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • 0
    • Storage Engines 2019-01-14

      When a prepared transaction is committed it is OK for the commit timestamp to be older than either the stable or oldest timestamp. We need to relax the checking in __wt_txn_commit so that prepared transactions can commit with any timestamp that is greater than the prepare timestamp. Transactions that have not been prepared should not have the checking relaxed.

      That means that WiredTiger could have created a checkpoint without the content from the prepared transaction - which is now visible at the point in time from the checkpoint. MongoDB (the only user of prepare and timestamps) will manage that problem by replaying the prepared transaction during replication recovery.

            Assignee:
            vamsi.krishna@mongodb.com Vamsi Boyapati
            Reporter:
            alexander.gorrod@mongodb.com Alexander Gorrod
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: