Script #89
mongodb
Lockingread-onlyMin Version: 4.0MongoDB Operations Waiting for Locks
Lists operations with waitingForLock set and the resource they wait on. Diagnoses slowdowns from write conflicts and lock pressure.
#locks#waitingForLock#currentOp
mongodb · javascript
db.getSiblingDB("admin").aggregate([
{ $currentOp: { allUsers: true } },
{ $match: { waitingForLock: true } },
{ $project: { opid: 1, op: 1, ns: 1, secs_running: 1, lockStats: 1, command: 1, client: 1 } },
{ $sort: { secs_running: -1 } }
]);Operational Notes & Remediation Guidance
Verify in a staging environment prior to running in production. This is a read-only diagnostic query; it does not acquire exclusive locks.
Production Safety & Execution Standards
- This script is designed for read-only diagnostics; it does not alter schema or modify data directly.
- Prior to executing on production systems under high load, verify the target database version (Min. Version: 4.0).
- Exercise caution with mutating actions (e.g., terminating sessions or dropping indexes) referenced in the notes section.
Other MONGODB Diagnostic Scripts
View All (100)#81Performance
Find Long-Running Operations in MongoDB (currentOp)
Lists active operations running longer than 5 seconds with plan summary and lock-wait info. Helps pick the operation to kill during a slowdown.
View Script
#82Storage
MongoDB Collection and Index Sizes
Ranks collections by document count, data, storage and index size. Used for capacity planning and spotting bloated indexes.
View Script
#83Performance
Find Unused Indexes in MongoDB ($indexStats)
Lists never-used indexes per collection. Offers cleanup candidates to cut write cost and memory use.
View Script
#84Replication
MongoDB Replica Set Lag and Oplog Window
Shows member state, lag behind the primary and the oplog window. Monitors replication health and resync risk.
View Script