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

Fix cursor next and prev for prepared transactions

    • 5
    • Storage Engines 2018-11-05, Storage Engines 2018-11-19

      To fix cursor next / prev behaviour when they encountered prepared updates resulting from insert / update / remove operations.

      Behaviorally, we went had a few iterations about what the expected state of a cursor should be after WT_PREPARE_CONFLICT is returned. We ended up choosing the following semantic:

      Have the cursor remain on the item when prepare conflict is returned, but handle subsequent move operations correctly in all scenarios: aborted, committed and visible, committed and not visible, at the start and end of the tree.
      For read-uncommitted transactions, the prepare conflict return needs to be considered as changing the position of the cursor - otherwise changing traversal direction after a prepare conflict can result in out of order cursor returns.

            vamsi.krishna@mongodb.com Vamsi Boyapati
            vamsi.krishna@mongodb.com Vamsi Boyapati
            0 Vote for this issue
            4 Start watching this issue