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

Fix handling of WT_RESTART in history store insertion

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT10.0.0, 4.4.0-rc7, 4.7.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • 5
    • Storage - Ra 2020-06-01

      While debugging WT-6257, I noticed a bug with our handling of WT_RESTART in history store insertion. If we successfully insert a non-timestamped history store record, we go on to attempt to delete any timestamped history store records for that key. If this key deletion process involves reading in a split page, we will return WT_RESTART. Instead of resuming key deletion, we repeat the entire process again meaning that we will insert the same record again with a slightly higher hs_counter.

      I don't believe that this could cause any visibility issues but it's a waste of cache and disk space and make things confusing for debugging so we should fix this.

            Assignee:
            alex.cameron@mongodb.com Alex Cameron (Inactive)
            Reporter:
            alex.cameron@mongodb.com Alex Cameron (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: