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

Set the connection with HS open flag if it exists in the database

    • Storage Engines
    • 5
    • 2023-12-12 - Heisenbug

      Summary

      When opening a checkpoint cursor on a read-only connection, it hides prepared (but uncommitted) key-value pairs instead of returning the key's old value.

       

      Steps to reproduce

      1. Create a key/value pair, prepare it, and commit it, e.g., key 2 with value 20, prepare timestamp 0x10, commit timestamp 0x14, and durable timestamp 0x18.
      2. Overwrite the key/value pair with a new value, prepare it, and commit it, e.g., key 2 with value 21, prepare timestamp 0x20, commit timestamp 0x24, and durable timestamp 0x28.
      3. Create named checkpoint ckpt1 with stable timestamp that is between the prepare and the commit timestamps, e.g., 0x26.
      4. Create a nameless checkpoint with a stable timestamp that is past the most recent durable timestamp.
      5. Reopen the connection as read-only and read the key using checkpoint ckpt1. Or use wt -r dump -c ckpt1 table:test to view the contents of the database.

        1. test_checkpoint31.py
          3 kB
          Peter Macko

            Assignee:
            haribabu.kommi@mongodb.com Haribabu Kommi
            Reporter:
            peter.macko@mongodb.com Peter Macko
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: