WiredTigerRecoveryUnit::setPrefetch() involves getting (or creating) a WiredTiger session which has an invariant that asserts that the WiredTigerSessionCache has not been shut down. However, this invariant is currently reachable since:
- The WiredTigerSessionCache is shut down not only during shuts down but also during replication rollback (here).
- WiredTigerRecoveryUnit::setPrefetch() is used by the validate command which is supported on secondaries so it can continue to run after the node becomes a secondary and starts doing rollback.
- is caused by
-
SERVER-85167 Size storer can be flushed concurrently with being destructed for rollback
- Closed
- is related to
-
SERVER-86912 Allow pre-fetch to be enabled in validation
- Closed
-
SERVER-79594 Use disk prefetch to improve resharding speed
- Investigating
- related to
-
SERVER-93389 WiredTigerSessionCache does not properly dispose of sessions released after rollback
- Closed