Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-56195

Make TTL monitor multi-threaded

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Storage Execution

      TTL deletes are limited by a single-threaded background task. This can be problematic in very large instances with many TTL indexes and can result in a situation where the TTL monitor cannot keep up with new writes.

      Consider redesigning the TTL Monitor to dispatch fix-sized deletion batches to an appropriately-sized thread pool (some constant factor of the number of available cores). This would likely be done in combination with SERVER-56194 to limit the number of deletes per collection and also reduce the interval between TTL passes.

      Note that TTL deletes are very impactful on WT, so we should be very careful to evaluate the performance consequences of performing a higher volume of TTL deletions.

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            louis.williams@mongodb.com Louis Williams
            Votes:
            0 Vote for this issue
            Watchers:
            19 Start watching this issue

              Created:
              Updated: