Currently, in the case of the primary node, SCCL returns fixed metadata for the config and admin databases. On the other hand, secondary nodes invoke the _flushDatabaseCacheUpdates command on primary to triggers a refresh in order to get the same information in the corresponding config.cache.databases entry.
The logic of secondaries can be simplified by returning the fixed metadata immediately, as the primary node already does. This allows to avoid the refresh of the database metadata but having the same semantics.
As a (desired) side effect, this allows SERVER-66972 to bypass the deadlock SERVER-68661 (which is not resolved by this ticket).
- is depended on by
-
SERVER-66972 Database critical section does not serialize with ongoing refreshes
- Closed
- is related to
-
SERVER-68661 Deadlock with transactions after step down
- Closed