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

Always clear the read timestamp for transactions

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT3.2.0, 4.1.10, 4.0.10
    • Affects Version/s: None
    • Component/s: None
    • None
    • 8
    • Storage Engines 2019-03-25, Storage Engines 2019-04-08
    • v4.0

      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.

            Assignee:
            luke.pearson@mongodb.com Luke Pearson
            Reporter:
            xiangyu.yao@mongodb.com Xiangyu Yao (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: