Details
Description
Currently the shard server catalog cache loader will not clear existing chunks after detecting a new epoch if the new version of the collection has a different shard key, relying on an earlier refresh discovering the collection was dropped and dropping the cached chunks collection then. Refining a collection's shard key will change its epoch without dropping it first, so the class should be modified to delete all existing chunks in a collection's cache after detecting a new epoch and it should be verified that the new shard key is correctly propagated through to the in-memory routing table's refresh.