summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/plan_yield_policy_impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/query/plan_yield_policy_impl.cpp')
-rw-r--r--src/mongo/db/query/plan_yield_policy_impl.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mongo/db/query/plan_yield_policy_impl.cpp b/src/mongo/db/query/plan_yield_policy_impl.cpp
index 8b45e2998ed..e4f0688c97f 100644
--- a/src/mongo/db/query/plan_yield_policy_impl.cpp
+++ b/src/mongo/db/query/plan_yield_policy_impl.cpp
@@ -39,8 +39,9 @@ PlanYieldPolicyImpl::PlanYieldPolicyImpl(PlanExecutorImpl* exec,
PlanYieldPolicy::YieldPolicy policy,
const Yieldable* yieldable,
std::unique_ptr<YieldPolicyCallbacks> callbacks)
- : PlanYieldPolicy(exec->getOpCtx(),
- policy,
+ : PlanYieldPolicy(exec->getOpCtx()->lockState()->isGlobalLockedRecursively()
+ ? PlanYieldPolicy::YieldPolicy::NO_YIELD
+ : policy,
exec->getOpCtx()->getServiceContext()->getFastClockSource(),
internalQueryExecYieldIterations.load(),
Milliseconds{internalQueryExecYieldPeriodMS.load()},