Mongos periodically refreshes its default read write concern cache and will only replace the current defaults in the cache if the found defaults have a greater epoch. If the defaults document is deleted (or the config.settings collection is dropped), the refresh will return a default constructed RWConcernDefault, which has no epoch, so the cache will not be updated.
In contrast, on mongod the defaults are currently updated through a WUOW onCommit handler, and the cached defaults will be set to whatever the new document is parsed as, which would be a default constructed RWConcernDefault for a delete.
These behaviors should be unified. Either mongod can ignore the deleted defaults like mongos, or mongos can be made to pick up the deleted defaults.
- is related to
-
SERVER-44890 MongoD RWCDefaults gets refreshed through the OpObserver
- Closed