-
Type: Task
-
Resolution: Won't Fix
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/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.
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.
- is related to
-
WT-1777 Degenerate case in wtperf run paging in
- Closed
-
WT-1787 Update the eviction server to not set stuck if it isn't full.
- Closed
-
WT-1851 test/format hung in LSM tree.
- Closed
- related to
-
WT-1686 Eviction cleanup
- Closed
-
WT-1350 Flush dirty pages without evicting them
- Closed
-
WT-1522 test/format hung in eviction
- Closed
-
WT-1744 Throttle inserts when the cache has lots of dirty content
- Closed