Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-39860

Separate reporting of RSTL and PBWM locks metrics in serverStatus and currentOp

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.1.12
    • Affects Version/s: None
    • Component/s: None
    • None
    • Fully Compatible
    • Storage NYC 2019-04-22, Storage NYC 2019-05-06, Storage NYC 2019-05-20

      The introduction of the RSTL lock has considerably changed the behavior the locks.Global section of serverStatus because the RSTL metrics are currently lumped in with global lock metrics. Diagnosability will be improved if these lock metrics are reported separately.

      In addition the inclusion of the PBWM metrics in the locks.Global section has hampered diagnosability in the past, so we should also separate those metrics out.

      Specific strawman proposal: introduce new locks.RSTL and locks.PBWM alongside locks.Global, which will now include only global lock metrics and not RSTL or PBWM metrics:

              "locks" : {
                      "Global" : {
                              "acquireCount" : ...
                              "acquireWaitCount" : ...
                              "timeAcquiringMicros" : ...
                      },
                      "PBWM" : ...
                      "RSTL" : ...
                      "Database" : ...
                      "Collection" : ...
                      "oplog" : ...
              },
      

      As part of this work we should also verify that clients waiting on the RSTL and PBWM locks will be reported as queued in the globalLock.currentQueue section, as the reported queues are an important diagnostic metric.

            Assignee:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Reporter:
            bruce.lucas@mongodb.com Bruce Lucas (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            15 Start watching this issue

              Created:
              Updated:
              Resolved: