CatalogCache will retry if the refresh fails with SnapshotError. However, when the refresh uses shard_local::runAggregation (i.e. when the config server refreshes its own cache), the SnapshotError is not propagated back to the catalog_cache. Instead, the catalog cache sees a CommandFailed error and does not retry. This happens because the SnapshotError gets masked here and converted to CommandFailed.
To address this bug we could change this to instead be: