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

Search history store can potentially walk the whole history store tree

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • WT10.0.0, 4.4.0-rc8, 4.7.0
    • Affects Version/s: None
    • Component/s: None
    • None
    • 8
    • Storage - Ra 2020-06-01, Storage - Ra 2020-06-15

      When debugging WT-5665, I noticed we may walk the entire history store tree for searching. The test reads data without a timestamp. Suppose the value we want to search doesn't exist, we place the history store cursor on the key larger than the one we want to search and call prev in __wt_hs_cursor_position. The prev call may potentially walk the whole tree and return not found because all the keys' tombstones are visible to the current search transaction.

      This problem is exacerbated if we read without a timestamp. However, even if we read with a timestamp, this still can be pretty costly as a large chunk of the tree may be with tombstones that have timestamps visible to the search.

            Assignee:
            alex.cameron@mongodb.com Alex Cameron (Inactive)
            Reporter:
            chenhao.qu@mongodb.com Chenhao Qu
            Votes:
            0 Vote for this issue
            Watchers:
            19 Start watching this issue

              Created:
              Updated:
              Resolved: