Lock-free reads makes it so that sharding refresh logic cannot use AutoGetDb or AutoGetCollection helpers because those helpers would throw stale config errors, which would stop the refresh operation to fix the staleness.
There are a number of cases already where code takes DBLock followed by CollectionLock, to avoid the additional logic run in the AutoGet* helpers. We could make a new wrapper for these operations, a 'dumb' wrapper as opposed to the 'smart' AutoGet* wrappers.
- related to
-
SERVER-47123 Remove AutoGetOrCreateDb
- Closed
-
SERVER-56511 use AutoGetOrCreateCollection to create system.views in _createCollection()
- Closed