Speedup WiredTiger storage engine startup for many tables by optimizing WiredTigerUtil::setTableLogging()

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.7.0, 4.4.2, 4.2.11
    • Affects Version/s: None
    • Component/s: Storage
    • None
    • Fully Compatible
    • v4.4, v4.2
    • Execution Team 2019-12-30, Execution Team 2020-09-07
    • 43
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      SERVER-25025 targets inefficiencies in startup initialization in MongoDB's use of WiredTiger.

      Even with these optimizations, given a large number of collections, we could still benefit from parallelizing the startup procedure. It is currently single-threaded and mostly CPU-bound, spending almost all CPU time-per-collection in setTableLogging(). This uses an expensive "metadata:create" cursor to determine whether or not a table is logged.

        1. after.png
          after.png
          295 kB
        2. before.png
          before.png
          300 kB

            Assignee:
            Gregory Wlodarek
            Reporter:
            Louis Williams
            Votes:
            3 Vote for this issue
            Watchers:
            24 Start watching this issue

              Created:
              Updated:
              Resolved: