summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaria van Keulen <maria@mongodb.com>2019-05-20 11:18:21 -0400
committerMaria van Keulen <maria@mongodb.com>2019-05-20 15:48:23 -0400
commit24760ca934a3c7843731de117839070ddf7fd3cc (patch)
treeb37188ae81a55d162dd7caa12dd37533381da0e1 /src
parentad2b5ce357ad424355f364c4c4cb6c2acae84be1 (diff)
downloadmongo-24760ca934a3c7843731de117839070ddf7fd3cc.tar.gz
SERVER-41240 Do not Flow Control uninterruptible lock acquisitions.
Diffstat (limited to 'src')
-rw-r--r--src/mongo/db/concurrency/lock_state.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mongo/db/concurrency/lock_state.cpp b/src/mongo/db/concurrency/lock_state.cpp
index 44a5aa20ed0..40e14bff3ac 100644
--- a/src/mongo/db/concurrency/lock_state.cpp
+++ b/src/mongo/db/concurrency/lock_state.cpp
@@ -977,7 +977,7 @@ void LockerImpl::lockComplete(OperationContext* opCtx,
void LockerImpl::getFlowControlTicket(OperationContext* opCtx, LockMode lockMode) {
auto ticketholder = FlowControlTicketholder::get(opCtx);
if (ticketholder && lockMode == LockMode::MODE_IX && _clientState.load() == kInactive &&
- opCtx->shouldParticipateInFlowControl()) {
+ opCtx->shouldParticipateInFlowControl() && !_uninterruptibleLocksRequested) {
// FlowControl only acts when a MODE_IX global lock is being taken. The clientState is only
// being modified here to change serverStatus' `globalLock.currentQueue` metrics. This
// method must not exit with a side-effect on the clientState. That value is also used for