Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-53703

[4.2] Opening a transaction at the all durable timestamp can go backwards

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker - P1
    • Resolution: Fixed
    • None
    • 4.2.12
    • Storage
    • None
    • Fully Compatible
    • ALL
    • Sharding 2021-01-25
    • 33

    Description

      SERVER-41766 introduced ghost timestamps on a primary for multi-statement transactions doing a multikey write. This causes WT's perspective of the all durable timestamp to go backwards.

      To compensate, the method to get the all durable that the storage engine exposes ensures the value does not go backwards.

      However, the 4.2 version of reading at the all durable timestamp uses the API that can go backwards. This can result in causal reads not seeing their own writes when they are concurrent with other writers flipping multikey inside a multi statement transaction. Reading at the no overlap, however does use from the safe API.

      4.4 (and master) use the WTKVEngine call which protects them from this bug.

      Attachments

        Activity

          People

            daniel.gottlieb@mongodb.com Daniel Gottlieb (Inactive)
            daniel.gottlieb@mongodb.com Daniel Gottlieb (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: