-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Cache and Eviction
-
None
-
Storage Engines - Foundations, Storage Engines - Persistence
-
21.757
-
None
-
None
Extract eviction thread management fields from __wt_connection_impl (lines 838-845) into a new WT_CONN_EVICT_THREADS structure. This includes evict_server_running, evict_threads (the WT_THREAD_GROUP), evict_threads_max, evict_threads_min, evict_sample_inmem, evict_use_npos, and evict_legacy_page_visit_strategy. Note: The main evict pointer (line 773) and cache pointer stay in the connection as they point to larger subsystems. Access will be via conn->evict_threads.<field>.
Files affected
- src/include/connection.h — Define WT_CONN_EVICT_THREADS structure and replace individual eviction thread fields
- src/evict/evict_conn.c — Update eviction thread startup/shutdown
- src/evict/evict_lru.c — Update eviction thread management
- Any files that configure or query eviction thread settings
Definition of Done
- New WT_CONN_EVICT_THREADS structure defined in connection.h containing eviction thread config
- All eviction thread fields removed from __wt_connection_impl and replaced with single evict_threads member
- All references updated from conn->evict_server_running to conn->evict_threads.server_running, etc.
- Code compiles cleanly with no warnings
- All existing tests pass
- Grep confirms no stale references to old eviction thread field paths
- related to
-
WT-17513 [PALite] test_hs01: sqlite3 "database disk image is malformed" in Pages::delete_many (disagg-leader hook)
-
- Needs Scheduling
-