As part of SERVER-47987 the way the cache is refreshed will be changed on a more optimized and safe way using a new scoped object. All this work will end on the removal of forceShardFilteringMetadataRefresh, which will make the local cache of a shard consistent with the config server. As part of this process the migration source manager needs to set the filtering metadata within the critical section, and should ensure:
1. If the operation fails, it must set the collection metadata to unknown, so the real shard version can be recovered lazily when needed.
2. There must not be any unnecessary refresh of the metadata after committing the new shard version, it should simply set the new shard version.
3. There must not be any recovery.