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

serverStatus blocks waiting for various locks

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Works as Designed
    • 2.4.0-rc0
    • None
    • Admin
    • None
    • ALL

    Description

      Here is a quick analysis of the locks hanging off serverStatus:

      • recordStats requires a read lock (Client::ReadContext) for each db
      • locks requires "DBLocksMap::ref r(dblocks);" (not write lock related)
      • cursors requires client cursor lock
      • network requires local lock for network counters
      • repl requires lock on "ReplSetImpl"
        • master/slave: local db, and possibly queries all replication sources (other server oplog entries – first/last entry).

      The biggest issue is the recordStats since that requires a read lock for each db.

      Attachments

        Issue Links

          Activity

            People

              backlog-server-execution Backlog - Storage Execution Team
              scotthernandez Scott Hernandez
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: