When running with --queryableBackupMode, WiredTigerKVEngine::initRsOplogBackgroundThread() should not start a thread, and therefore not perform oplog sampling.
In addition, we should consider adding a separate configuration option to disable this oplog sampling without needing to be running with --queryableBackupMode.
In version 3.1.8 mongo added a new feature:
On startup WiredTiger now needs to read values from the oplog to figure out where to place the milestones:
This process is fine if all of the data is stored locally on disk. The problem is when you are using external storage (for us, Amazon EBS). The sampling from cold EBS is taking somewhere between 20 and 30 minutes leading to incredibly slow startup times.
Is there a good way to speed up this process / bring startup times back to 3.1.7 levels for EBS backed instances?