The CollectionCatalog mutex can be a source of contention. There are some minor improvements that can be done without changing how the system works at a high level.
- Hash namespace/uuid without holding the lock
- Add interface to match call patterns. RequiresCollectionStage::doRestoreState makes two calls (requiring taking and releasing the mutex twice) for something that can be implemented as a single call.