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

Make TTL deletes fair

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Fully Compatible
    • Execution Team 2021-08-23, Execution Team 2022-05-02, Execution Team 2022-05-16, Execution Team 2022-05-30, Execution Team 2022-06-13

      The single-threaded TTL Monitor can get "stuck" deleting large ranges of documents on specific collections or databases.

      This prevents the TTL monitor from performing deletes on higher-priority collections such as config.system.sessions.

      We should consider imposing configurable per-database and per-collection document deletion limits. In addition, we will need to consider significantly lowering the default TTL pass interval (from 60 seconds) to ensure we make progress.

      Some hypothetical limits would be:

      • Maximum 10000 documents per database
      • Maximum 1000 documents per collection
      • Run TTL monitor every 5 seconds.

      Also consider prioritizing important collections like config.system.sessions.

            haley.connelly@mongodb.com Haley Connelly
            louis.williams@mongodb.com Louis Williams
            0 Vote for this issue
            20 Start watching this issue