[DOCS-12716] Docs for SERVER-39860: Separate reporting of RSTL and PBWM locks metrics in serverStatus and currentOp Created: 19/May/19  Updated: 13/Nov/23  Resolved: 30/Jul/19

Status: Closed
Project: Documentation
Component/s: manual, Server
Affects Version/s: None
Fix Version/s: 4.1.12, Server_Docs_20231030, Server_Docs_20231106, Server_Docs_20231105, Server_Docs_20231113

Type: Task Priority: Major - P3
Reporter: Kay Kim (Inactive) Assignee: Kay Kim (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Documented
documents SERVER-39860 Separate reporting of RSTL and PBWM l... Closed
Gantt Dependency
has to be done before DOCS-12905 Investigate changes in SERVER-41898: ... Closed
Participants:
Days since reply: 4 years, 28 weeks, 1 day ago
Epic Link: DOCS: 4.2 Server/Tools

 Description   

Description

Description:

This is what the "locks" section looks like now (I ran jstests/noPassthrough/lock_stats.js with some extra logging)

~~~stats: {
	"ParallelBatchWriter" : {
		"acquireCount" : {
			"r" : NumberLong(29)
		}
	},
	"ReplicationStateTransition" : {
		"acquireCount" : {
			"w" : NumberLong(36)
		}
	},
	"Global" : {
		"acquireCount" : {
			"r" : NumberLong(24),
			"w" : NumberLong(6),
			"R" : NumberLong(1),
			"W" : NumberLong(5)
		},
		"acquireWaitCount" : {
			"W" : NumberLong(1)
		},
		"timeAcquiringMicros" : {
			"W" : NumberLong(500691)
		}
	},
	"Database" : {
		"acquireCount" : {
			"r" : NumberLong(5),
			"R" : NumberLong(3),
			"W" : NumberLong(6)
		}
	},
	"Collection" : {
		"acquireCount" : {
			"r" : NumberLong(5),
			"w" : NumberLong(1)
		}
	},
	"Mutex" : {
		"acquireCount" : {
			"r" : NumberLong(12),
			"W" : NumberLong(1)
		}
	}
}

Engineering Ticket Description:

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.

Scope of changes

Impact to Other Docs

MVP (Work and Date)

Resources (Scope or Design Docs, Invision, etc.)



 Comments   
Comment by Githook User [ 30/Jul/19 ]

Author:

{'name': 'Kay Kim', 'username': 'kay-kim', 'email': 'kay.kim@10gen.com'}

Message: DOCS-12716: 4.2 separate ParallelBatchWriterMode and ReplicationStateTransition lock reporting
Branch: master
https://github.com/mongodb/docs/commit/aba317fd49f7dc3eed24f29f87e6cad020999de2

Generated at Thu Feb 08 08:05:55 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.