ShardRemote has logic to attach a minClusterTime read preference to any command sent through it to a shard with the "config" shard name. After SERVER-73865, the config server will always use this name even when serving as a user data shard. That ticket changed this logic to only apply for the config and admin dbs, which contain sharding catalog metadata, but ideally we would only apply it when we know we're performing a catalog operation and not need to use the dbName (especially since at least one config db does not hold catalog metadata, "config.system.sessions").
There are at least two ways we can handle this:
- Guarantee we only use ShardRemote for catalog operations.
- Then we can always attach minClusterTime read preference.
- Attach minClusterTime read preference at a higher level in ShardRemote (or whatever components use it) when we know we're performing a catalog operation.
- is duplicated by
-
SERVER-74415 SdamServerSelector Does Not Respect ReadPreference minClusterTime
- Closed
- is related to
-
SERVER-74568 SdamServerSelector sometimes doesn't fully respect client readPreference for config shard
- Closed