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

Fix race between setting transaction read_timestamp and updating global pinned timestamp

    • 3
    • Storage Engines 2018-09-24

      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 Neha Khatri
            Reporter:
            neha.khatri Neha Khatri
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: