- 
    Type:Improvement 
- 
    Resolution: Duplicate
- 
    Priority:Major - P3 
- 
    None
- 
    Affects Version/s: None
- 
    Component/s: Sharding
- 
        Sharding EMEA
- 
        Sharding EMEA 2023-01-23
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
Apparently there are circumstances where the ShardRegistry on config servers sometimes reads non-majority-committed writes to config.shards, based on:
- https://github.com/mongodb/mongo/blob/403ee63/src/mongo/s/client/shard_registry.cpp#L466-L475
- https://github.com/mongodb/mongo/blob/403ee63/src/mongo/db/op_observer_impl.cpp#L1316-L1322
- https://github.com/mongodb/mongo/blob/403ee63/src/mongo/db/repl/rs_rollback.cpp#L1999-L2005
After SERVER-46202 makes the ShardRegistry causally consistent, it should be possible to eliminate any places where configsvrs do non-majority-commited ShardRegistry reads (thereby getting rid of ShardRegistry::clearEntries()).
- duplicates
- 
                    SERVER-64717 Shard registry is cleared during rollbacks -         
- Closed
 
-         
- is related to
- 
                    SERVER-64717 Shard registry is cleared during rollbacks -         
- Closed
 
-         
- related to
- 
                    SERVER-46202 Implement ShardRegistry on top of ReadThroughCache to make it causally consistent -         
- Closed
 
-