This ticket tracks a list of tunable parameters in both MongoDB and WiredTiger that can be changed or fuzzed during testing to increase coverage.
Here's a start:
- setParameter wiredTigerCursorCacheSize. We should run tests when this is set to 0 to disable cursor caching.
- setParameter wiredTigerSessionCloseIdleTimeSecs. This is already set to 5 sec in debug builds.
- setParameter wiredTigerConcurrentWrite/ReadTransactions. We already lower this to 64 in certain test suites.
- WiredTiger file_manager parameters to wiredtiger_open (i.e. close_handle_minimum, close_idle_time, and close_scan_interval). This would introduce more aggressive file handle sweeps.
- WiredTiger cache eviction parameters: eviction_target, eviction_trigger, eviction_dirty_target, eviction_dirty_trigger. These parameters are a function of the cache size which is already pretty low in most of our tests (1GB), so tweaking these may not be as effective as other options.