diff options
author | Waley Chen <waleycz@gmail.com> | 2016-05-02 21:40:41 -0400 |
---|---|---|
committer | Waley Chen <waleycz@gmail.com> | 2016-05-02 21:40:41 -0400 |
commit | 8abd5682f551ad79dec3557f721eebd45b21be0f (patch) | |
tree | e3430994fdf46a4cce8f40ce2f6e621c477065f3 /src/mongo/db/query/plan_yield_policy.cpp | |
parent | 21cfba12a005431b08a8c69dcdb1f262622ea780 (diff) | |
download | mongo-8abd5682f551ad79dec3557f721eebd45b21be0f.tar.gz |
SERVER-23243 Replace Listener::getElapsedTimeMillis() in elapsed_tracker.cpp
Diffstat (limited to 'src/mongo/db/query/plan_yield_policy.cpp')
-rw-r--r-- | src/mongo/db/query/plan_yield_policy.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/mongo/db/query/plan_yield_policy.cpp b/src/mongo/db/query/plan_yield_policy.cpp index b03ec44920b..575ebf664b8 100644 --- a/src/mongo/db/query/plan_yield_policy.cpp +++ b/src/mongo/db/query/plan_yield_policy.cpp @@ -35,16 +35,28 @@ #include "mongo/db/operation_context.h" #include "mongo/db/query/query_knobs.h" #include "mongo/db/query/query_yield.h" +#include "mongo/db/service_context.h" #include "mongo/util/scopeguard.h" +#include "mongo/util/time_support.h" namespace mongo { PlanYieldPolicy::PlanYieldPolicy(PlanExecutor* exec, PlanExecutor::YieldPolicy policy) : _policy(policy), _forceYield(false), - _elapsedTracker(internalQueryExecYieldIterations, internalQueryExecYieldPeriodMS), + _elapsedTracker(exec->getOpCtx()->getServiceContext()->getFastClockSource(), + internalQueryExecYieldIterations, + Milliseconds(internalQueryExecYieldPeriodMS)), _planYielding(exec) {} + +PlanYieldPolicy::PlanYieldPolicy(PlanExecutor::YieldPolicy policy, ClockSource* cs) + : _policy(policy), + _forceYield(false), + _elapsedTracker( + cs, internalQueryExecYieldIterations, Milliseconds(internalQueryExecYieldPeriodMS)), + _planYielding(nullptr) {} + bool PlanYieldPolicy::shouldYield() { if (!allowedToYield()) return false; |