summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Rassi <rassi@10gen.com>2015-03-23 13:21:31 -0400
committerJason Rassi <rassi@10gen.com>2015-03-26 16:51:58 -0400
commit262e2a95fb8b880ff8f03d68774174da544d71d3 (patch)
treecae507e1ae70249794db6539af69e2359da621a2
parent33d0804319afd5a8c4f9d8b65b951973776f8bd9 (diff)
downloadmongo-262e2a95fb8b880ff8f03d68774174da544d71d3.tar.gz
SERVER-17699 LockerImpl<>::getLockerInfo() don't no-op if not locked
(cherry picked from commit d5f0d74d5c4a75a74e1d506ba224e54ee57f9a0b)
-rw-r--r--jstests/core/profile4.js19
-rw-r--r--src/mongo/db/concurrency/lock_state.cpp2
2 files changed, 5 insertions, 16 deletions
diff --git a/jstests/core/profile4.js b/jstests/core/profile4.js
index aeb567f6ab0..5329f469843 100644
--- a/jstests/core/profile4.js
+++ b/jstests/core/profile4.js
@@ -1,4 +1,3 @@
-if (0) { // TODO SERVER-16799 reenable
// Check debug information recorded for a query.
// special db so that it can be run in parallel tests
@@ -50,26 +49,19 @@ try {
[ "nreturned", 0 ],
[ "responseLength", 20 ] ] );
- t.save( {} );
-
// check write lock stats are set
+ t.save( {} );
o = lastOp();
assert.eq('insert', o.op);
-
- printjson( o );
- assert.eq( 0, o.lockStats.timeLockedMicros.r );
- assert.lt( 0, o.lockStats.timeLockedMicros.w );
- assert.eq( 0, o.lockStats.timeAcquiringMicros.r );
- assert.lte( 0, o.lockStats.timeAcquiringMicros.w );
+ printjson(o.locks);
+ assert.lt( 0, Object.keys(o.locks).length );
// check read lock stats are set
t.find();
o = lastOp();
assert.eq('query', o.op);
- assert.lt( 0, o.lockStats.timeLockedMicros.r );
- assert.eq( 0, o.lockStats.timeLockedMicros.w );
- assert.lte( 0, o.lockStats.timeAcquiringMicros.r );
- assert.lte( 0, o.lockStats.timeAcquiringMicros.w );
+ printjson(o.locks);
+ assert.lt( 0, Object.keys(o.locks).length );
t.save( {} );
t.save( {} );
@@ -119,4 +111,3 @@ finally {
db.setProfilingLevel(0);
db = stddb;
}
-}
diff --git a/src/mongo/db/concurrency/lock_state.cpp b/src/mongo/db/concurrency/lock_state.cpp
index 1021d8ee874..8e4859211f0 100644
--- a/src/mongo/db/concurrency/lock_state.cpp
+++ b/src/mongo/db/concurrency/lock_state.cpp
@@ -502,8 +502,6 @@ namespace {
lockerInfo->waitingResource = ResourceId();
lockerInfo->stats.reset();
- if (!isLocked()) return;
-
_lock.lock();
LockRequestsMap::ConstIterator it = _requests.begin();
while (!it.finished()) {