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

Review eviction server algorithm

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:

      Description

      There have been a number of enhancements to the eviction server recently that have been added on. It would be good to review the eviction server role as a whole and come up with a better design.

      Primary considerations:

      • Managing the running eviction worker threads - they currently start/stop too often.
      • Managing when the eviction server is asleep, and what resources (hazard pointers) it holds when it goes to sleep.
      • Managing the regularity at which the eviction server repopulates the queue
      • Managing how much content the server puts on the queue each pass
      • Managing how the eviction server works if it is only looking for pages with READGEN_OLDEST set (i.e: candidates for forced eviction). When it stops, how it finds those pages, etc
      • Add a better ability to control how aggressive the server is about finding dirty pages to evict. Especially we want to keep the amount of dirty data in the cache down to a certain limit.
      • Managing how the eviction server handles cases where there are lots of files open (more than the configured number of hazard references)
      • Managing how the eviction server can be sure to visit all pages in cache without pinning pages itself.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                backlog-server-execution Backlog - Execution Team
                Reporter:
                alexander.gorrod Alexander Gorrod
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: