Priority: Major - P3
Resolution: Won't Fix
Affects Version/s: None
Fix Version/s: None
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.
- 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.