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

Investigate lifting up skip list code into its own functions/macros

    • Type: Icon: Technical Debt Technical Debt
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Btree

      Our skip list code is currently tightly coupled with its use in our B+ tree pages. It would be advantageous for us to separate it into its own functions and/or macros, so that we can:

      • Have better tests for the skip lists, which would become particularly advantageous if we try to make any changes to it.
      • Take advantage of better tooling, such as the TSAN thread sanitizer, without being overwhelmed with false positives coming from different parts of the code.
      • Reuse the skip list code more easily.

      That being said, doing this may be difficult, such as because there are no generics in C or because the skip list code may need to use WT_SESSION (which may make it harder to test it in isolation), and we would like to achieve all that without a performance regression. We should investigate the feasibility of this change, and if the results are promising, implement it.

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

              Created:
              Updated: