Details
-
Bug
-
Status: Closed
-
Major - P3
-
Resolution: Works as Designed
-
2.4.0-rc0
-
None
-
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
- is duplicated by
-
SERVER-16146 dropDatabase is slow and returns success immediately though it then blocks progress while running
-
- Closed
-
- is related to
-
DOCS-1142 Document serverStatus lock usage
-
- Closed
-