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.

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