-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Replication
-
None
-
Replication
-
(copied to CRM)
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Overview
Following investigation in HELP-91789, we found that there is no observability into contention on SessionCatalog::_mutex (session_catalog.h:285). This made it difficult to diagnose whether this mutex was a bottleneck during the reported incident. We should instrument it using the existing ObservableMutex infrastructure so that contention data is available for future diagnosis.
See SERVER-111639 and SERVER-111653 for prior rollouts of ObservableMutex to other critical mutexes.
Acceptance Criteria
- SessionCatalog::_mutex contention metrics appear in the lockContentionMetrics section of serverStatus:
db.serverStatus({lockContentionMetrics: 1}) - Existing lock usage compiles and behaves correctly with the new type
- FTDC captures the metrics when enabled
- is related to
-
SERVER-111639 Consider using ObservableMutex for Networking & Observability mutexes
-
- Closed
-
-
SERVER-111653 Consider using ObservableMutex for Catalog & Routing mutexes
-
- Closed
-
- related to
-
SERVER-124270 Audit and reduce SessionCatalog::_mutex hold times
-
- Needs Scheduling
-