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

Research cheap fast paths for the family of drop_* functions

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Performance
    • Storage Engines
    • 1
    • StorEng - Defined Pipeline

      Looking into the __drop_table function, I found that before the table is deleted, it gets gracefully closed which includes checking for unfinished transactions, checkpointing, reconciliation, eviction, history store, backup, and many other things that we do when we nicely close a table and try to preserve data.

      When the user's intention is to delete it straight away, many of these actions may not be required.

      We might still want to do it carefully, there could be an additional flag whether to do it properly or in a fast way. An additional flag to all "close*" functions can be tricky to add.

      This ticket targets finding cheap (in terms of added complexity) shortcuts reducing the amount of work being done when closing a thing that's about to be deleted.

      The __drop_table function is used as an example. Other "drop*" functions should be looked at too.

      One instance where this will be useful is index rebuilds.
      The end users might also be able to delete tables faster.

      The result of this ticket should be a quick(-ish) research if there are possibilities to speed up any drop_* functions. For functions where it's possible, separate tickets should be created.

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            y.ershov@mongodb.com Yury Ershov
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: