-
Type:
Bug
-
Resolution: Done
-
Priority:
Major - P3
-
Affects Version/s: 2.8.0-rc5
-
Component/s: Concurrency, Diagnostics
-
None
-
Fully Compatible
-
ALL
-
None
-
None
-
None
-
None
-
None
-
None
-
None
As part of SERVER-15614, lock stats were re-introduced to db.currentOp().
The idea is to restore this information which is important for MMAPv1 diagnostics and included timeAcquiringMicros and timeLockedMicros.
However, the whole lock mgr state is dumped into each operation, which vastly expands the size of the returned document with unhelpful information.
> db.currentOp()
{
"inprog" : [
{
"desc" : "conn3",
"threadId" : "0x299dba0",
"connectionId" : 3,
"opid" : 192443,
"active" : false,
"op" : "insert",
"ns" : "a.a",
"insert" : {
"_id" : ObjectId("54c48a8fb8589b638ccabd8c"),
"x" : 64121
},
"client" : "127.0.0.1:38982",
"numYields" : 0,
"locks" : {
"Global" : "w",
"MMAPV1Journal" : "w",
"Database" : "w",
"Collection" : "W"
},
"waitingForLock" : false,
"lockStats" : {
"Global" : {
"acquireCount" : {
"r" : NumberLong(0),
"w" : NumberLong(64122),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"acquireWaitCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"timeAcquiringMicros" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"deadlockCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
}
},
"MMAPV1Journal" : {
"acquireCount" : {
"r" : NumberLong(0),
"w" : NumberLong(128244),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"acquireWaitCount" : {
"r" : NumberLong(0),
"w" : NumberLong(90),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"timeAcquiringMicros" : {
"r" : NumberLong(0),
"w" : NumberLong(47716),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"deadlockCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
}
},
"Database" : {
"acquireCount" : {
"r" : NumberLong(0),
"w" : NumberLong(64122),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"acquireWaitCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"timeAcquiringMicros" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"deadlockCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
}
},
"Collection" : {
"acquireCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(64122)
},
"acquireWaitCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"timeAcquiringMicros" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"deadlockCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
}
},
"Metadata" : {
"acquireCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"acquireWaitCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"timeAcquiringMicros" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"deadlockCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
}
},
"oplog" : {
"acquireCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"acquireWaitCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"timeAcquiringMicros" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
},
"deadlockCount" : {
"r" : NumberLong(0),
"w" : NumberLong(0),
"R" : NumberLong(0),
"W" : NumberLong(0)
}
}
}
}
]
}