Fix race between setting transaction read_timestamp and updating global pinned timestamp

XMLWordPrintableJSON

    • Storage Engines 2018-09-24
    • 3

      When updating oldest_timestamp we also  txn_update_pinned_timestamp where we fetch the current pinned timestamp, do some validations and under a write lock update the txn_global->pinned_timestamp. It is possible that between the time of fetch and update, the actual pinned timestamp moved backward due to a new transaction with a read_timestamp older than the current pinned timestamp . The new transaction began successfully because it started before the oldest_timestamp update thread. But the transaction commit or rollback would fail because it would see pinned is ahead of the transaction's read_timestamp.

              Assignee:
              Neha Khatri (Inactive)
              Reporter:
              Neha Khatri (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: