Add ObservableMutex observability to SessionCatalog::_mutex

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Replication
    • None
    • Replication
    • 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

            Assignee:
            Unassigned
            Reporter:
            Moustafa Maher
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: