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

Always clear the read timestamp for transactions

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: WT3.2.0, 4.1.10, 4.0.10
    • Component/s: None
    • Labels:
      None
    • Story Points:
      8
    • Sprint:
      Storage Engines 2019-03-25, Storage Engines 2019-04-08
    • Backport Requested:
      v4.0

      Description

      There is a bug where the read timestamp of the previous transaction can be used as the checkpoint timestamp.

      A wiredtiger session opened a transaction with read timestamp TS1, and then a checkpoint made by the same session could be timestamped with TS1.

      This problem was found by a test on standalone node (where stable_timestamp, all_committed should be 0 all the time) and an operation accidentally uses timestamp "1" as the read timestamp of the transaction. So this is probably an edge case.

      I suspect the checkpointing operation probably reuses the same transaction struct as the previous transaction. The "read_timestamp" field somehow didn't get reinitialized so checkpoint was timestamped with that read timestamp.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                luke.pearson Luke Pearson
                Reporter:
                xiangyu.yao Xiangyu Yao
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: