Details
Description
In checkShardVersion, we invalidate the entire collection's targeting info if the call is authoritative. This isn't necessary – tracing back across renames, it turns out the original intent of this line is simply to refresh and retrieve the catalog cache info. If we replace this call with a call to getCollectionRoutingInfoWithRefresh, we will still get the refreshed information.
As-is, this line causes all authoritative calls to checkShardVersion to stall writes to the namespace on the refresh, effectively making the per-shard invalidation efforts in PM-1633 redundant.
Another call to the same function down below can be replaced with getCollectionRoutingInfoWithRefresh as well.