diff options
author | Eliot Horowitz <eliot@10gen.com> | 2014-11-03 17:31:25 -0500 |
---|---|---|
committer | Eliot Horowitz <eliot@10gen.com> | 2014-11-03 17:31:25 -0500 |
commit | a69c4001dd891bf5d9b2862455d743d5d438cc96 (patch) | |
tree | 74f8154049c03b0275c59c6e849ca52bcfce5219 /src | |
parent | aa67a4e69eeb73fedc64f9a9588c2fa24cf8c6ab (diff) | |
download | mongo-a69c4001dd891bf5d9b2862455d743d5d438cc96.tar.gz |
SERVER-15888: fix profiling inf. loop when can't profile
Diffstat (limited to 'src')
-rw-r--r-- | src/mongo/db/introspect.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mongo/db/introspect.cpp b/src/mongo/db/introspect.cpp index 0b3afeb947d..1359abf0375 100644 --- a/src/mongo/db/introspect.cpp +++ b/src/mongo/db/introspect.cpp @@ -162,6 +162,10 @@ namespace { WriteUnitOfWork wunit(txn); Client::Context cx(txn, currentOp.getNS(), false); if ( !_profile(txn, c, cx.db(), currentOp, profileBufBuilder ) && lk.get() ) { + if ( tryAgain ) { + // we couldn't profile, but that's ok, we should have logged already + break; + } // we took an IX lock, so now we try again with an X lock tryAgain = true; continue; |