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

Investigate if compaction should be pulled into eviction or throttled before reaching the trigger thresholds

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Compaction
    • None
    • Storage Engines
    • 5
    • StorEng - Defined Pipeline

      The investigation should be done for background and foreground compaction. It would be best to come up with a solution that could benefit other subsystems that should have a different behaviour whenever there is cache pressure.

      Background compaction
      Background compaction is throttled here, if dirty/clean eviction is needed, we don't proceed with compaction and loop over.

      *Foreground compaction
      *When compaction is happening (note that this code is triggered from background compaction as well), there is an eviction check here. During that check, it is possible for the thread to help with eviction if there is cache pressure. Note that this is a recent change from WT-13216 which allows a compaction thread to help with eviction. Inside this check, if we have reached one of the trigger thresholds and if we have, we proceed with eviction.

      The questions are:

      • Do we want to wait for the thresholds to be reached before helping with eviction?
      • Do we want to throttle compaction using different thresholds?

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            etienne.petrel@mongodb.com Etienne Petrel
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: