-
Type: Technical Debt
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Labels:None
The block manager does I/O management based on the os_cache_max and os_cache_max_dirty configuration options. This was originally done because the block manager was the primary writer in the system, but it (1) requires some complexity, for example, the block manager has to avoid pausing a session that can't wait, and (2) the functionality in the block manager has unexpectedly nasty error handling and race problems.
Now there are separate "capacity" threads (see WT-4447 and WT-4547), we should try and move the rest of the block manager's I/O management to the capacity threads.