diff options
author | Kelsey Schubert <kelsey@mongodb.com> | 2018-08-16 16:36:56 -0400 |
---|---|---|
committer | Kelsey Schubert <kelsey@mongodb.com> | 2018-08-21 17:28:11 -0400 |
commit | c0ba6b5de5fba5beeb60d4888d5120f821248dbf (patch) | |
tree | f80769e4d8d0f1a13bf299e79fc78ba234b8c1bc | |
parent | df8ab8502ff19f90e3f1c5055a533890fbbb8eef (diff) | |
download | mongo-c0ba6b5de5fba5beeb60d4888d5120f821248dbf.tar.gz |
SERVER-36479 Don't redact planSummary in logs
(cherry picked from commit f19a83eb8aedfe11dc2ac7ac454f3eb51b5a86cb)
-rw-r--r-- | src/mongo/db/curop.cpp | 2 | ||||
-rw-r--r-- | src/mongo/db/exec/cached_plan.cpp | 10 | ||||
-rw-r--r-- | src/mongo/db/exec/multi_plan.cpp | 12 | ||||
-rw-r--r-- | src/mongo/db/query/get_executor.cpp | 8 | ||||
-rw-r--r-- | src/mongo/db/query/plan_ranker.cpp | 2 |
5 files changed, 17 insertions, 17 deletions
diff --git a/src/mongo/db/curop.cpp b/src/mongo/db/curop.cpp index e7dc7460efa..ca160df413c 100644 --- a/src/mongo/db/curop.cpp +++ b/src/mongo/db/curop.cpp @@ -548,7 +548,7 @@ string OpDebug::report(Client* client, } if (!curop.getPlanSummary().empty()) { - s << " planSummary: " << redact(curop.getPlanSummary().toString()); + s << " planSummary: " << curop.getPlanSummary().toString(); } OPDEBUG_TOSTRING_HELP(nShards); diff --git a/src/mongo/db/exec/cached_plan.cpp b/src/mongo/db/exec/cached_plan.cpp index 071f6cf7b25..12533958de2 100644 --- a/src/mongo/db/exec/cached_plan.cpp +++ b/src/mongo/db/exec/cached_plan.cpp @@ -141,7 +141,7 @@ Status CachedPlanStage::pickBestPlan(PlanYieldPolicy* yieldPolicy) { LOG(1) << "Execution of cached plan failed, falling back to replan." << " query: " << redact(_canonicalQuery->toStringShort()) - << " planSummary: " << redact(Explain::getPlanSummary(child().get())) + << " planSummary: " << Explain::getPlanSummary(child().get()) << " status: " << redact(statusObj); const bool shouldCache = false; @@ -153,7 +153,7 @@ Status CachedPlanStage::pickBestPlan(PlanYieldPolicy* yieldPolicy) { LOG(1) << "Execution of cached plan failed: PlanStage died" << ", query: " << redact(_canonicalQuery->toStringShort()) - << " planSummary: " << redact(Explain::getPlanSummary(child().get())) + << " planSummary: " << Explain::getPlanSummary(child().get()) << " status: " << redact(statusObj); return WorkingSetCommon::getMemberObjectStatus(statusObj); @@ -168,7 +168,7 @@ Status CachedPlanStage::pickBestPlan(PlanYieldPolicy* yieldPolicy) { << " works, but was originally cached with only " << _decisionWorks << " works. Evicting cache entry and replanning query: " << redact(_canonicalQuery->toStringShort()) - << " plan summary before replan: " << redact(Explain::getPlanSummary(child().get())); + << " plan summary before replan: " << Explain::getPlanSummary(child().get()); const bool shouldCache = true; return replan(yieldPolicy, shouldCache); @@ -238,7 +238,7 @@ Status CachedPlanStage::replan(PlanYieldPolicy* yieldPolicy, bool shouldCache) { LOG(1) << "Replanning of query resulted in single query solution, which will not be cached. " << redact(_canonicalQuery->toStringShort()) - << " plan summary after replan: " << redact(Explain::getPlanSummary(child().get())) + << " plan summary after replan: " << Explain::getPlanSummary(child().get()) << " previous cache entry evicted: " << (shouldCache ? "yes" : "no"); return Status::OK(); } @@ -271,7 +271,7 @@ Status CachedPlanStage::replan(PlanYieldPolicy* yieldPolicy, bool shouldCache) { } LOG(1) << "Replanning " << redact(_canonicalQuery->toStringShort()) - << " resulted in plan with summary: " << redact(Explain::getPlanSummary(child().get())) + << " resulted in plan with summary: " << Explain::getPlanSummary(child().get()) << ", which " << (shouldCache ? "has" : "has not") << " been written to the cache"; return Status::OK(); } diff --git a/src/mongo/db/exec/multi_plan.cpp b/src/mongo/db/exec/multi_plan.cpp index 5dc4bd0b863..6f64aecae32 100644 --- a/src/mongo/db/exec/multi_plan.cpp +++ b/src/mongo/db/exec/multi_plan.cpp @@ -240,7 +240,7 @@ Status MultiPlanStage::pickBestPlan(PlanYieldPolicy* yieldPolicy) { const auto& bestSolution = bestCandidate.solution; LOG(5) << "Winning solution:\n" << redact(bestSolution->toString()); - LOG(2) << "Winning plan: " << redact(Explain::getPlanSummary(bestCandidate.root)); + LOG(2) << "Winning plan: " << Explain::getPlanSummary(bestCandidate.root); _backupPlanIdx = kNoSuchPlan; if (bestSolution->hasBlockingStage && (0 == alreadyProduced.size())) { @@ -277,10 +277,10 @@ Status MultiPlanStage::pickBestPlan(PlanYieldPolicy* yieldPolicy) { LOG(1) << "Winning plan tied with runner-up. Not caching." << " ns: " << _collection->ns() << " " << redact(_query->toStringShort()) - << " winner score: " << ranking->scores[0] << " winner summary: " - << redact(Explain::getPlanSummary(_candidates[winnerIdx].root)) + << " winner score: " << ranking->scores[0] + << " winner summary: " << Explain::getPlanSummary(_candidates[winnerIdx].root) << " runner-up score: " << ranking->scores[1] << " runner-up summary: " - << redact(Explain::getPlanSummary(_candidates[runnerUpIdx].root)); + << Explain::getPlanSummary(_candidates[runnerUpIdx].root); } if (alreadyProduced.empty()) { @@ -291,8 +291,8 @@ Status MultiPlanStage::pickBestPlan(PlanYieldPolicy* yieldPolicy) { size_t winnerIdx = ranking->candidateOrder[0]; LOG(1) << "Winning plan had zero results. Not caching." << " ns: " << _collection->ns() << " " << redact(_query->toStringShort()) - << " winner score: " << ranking->scores[0] << " winner summary: " - << redact(Explain::getPlanSummary(_candidates[winnerIdx].root)); + << " winner score: " << ranking->scores[0] + << " winner summary: " << Explain::getPlanSummary(_candidates[winnerIdx].root); } } diff --git a/src/mongo/db/query/get_executor.cpp b/src/mongo/db/query/get_executor.cpp index eed63cec24a..e735b59cff6 100644 --- a/src/mongo/db/query/get_executor.cpp +++ b/src/mongo/db/query/get_executor.cpp @@ -431,7 +431,7 @@ StatusWith<PrepareExecutionResult> prepareExecution(OperationContext* opCtx, root.reset(rawRoot); LOG(2) << "Using fast count: " << redact(canonicalQuery->toStringShort()) - << ", planSummary: " << redact(Explain::getPlanSummary(root.get())); + << ", planSummary: " << Explain::getPlanSummary(root.get()); return PrepareExecutionResult( std::move(canonicalQuery), std::move(solutions[i]), std::move(root)); @@ -448,7 +448,7 @@ StatusWith<PrepareExecutionResult> prepareExecution(OperationContext* opCtx, LOG(2) << "Only one plan is available; it will be run but will not be cached. " << redact(canonicalQuery->toStringShort()) - << ", planSummary: " << redact(Explain::getPlanSummary(root.get())); + << ", planSummary: " << Explain::getPlanSummary(root.get()); return PrepareExecutionResult( std::move(canonicalQuery), std::move(solutions[0]), std::move(root)); @@ -1644,7 +1644,7 @@ StatusWith<unique_ptr<PlanExecutor, PlanExecutor::Deleter>> getExecutorDistinct( unique_ptr<PlanStage> root(rawRoot); LOG(2) << "Using fast distinct: " << redact(cq->toStringShort()) - << ", planSummary: " << redact(Explain::getPlanSummary(root.get())); + << ", planSummary: " << Explain::getPlanSummary(root.get()); return PlanExecutor::make(opCtx, std::move(ws), @@ -1674,7 +1674,7 @@ StatusWith<unique_ptr<PlanExecutor, PlanExecutor::Deleter>> getExecutorDistinct( unique_ptr<PlanStage> root(rawRoot); LOG(2) << "Using fast distinct: " << redact(cq->toStringShort()) - << ", planSummary: " << redact(Explain::getPlanSummary(root.get())); + << ", planSummary: " << Explain::getPlanSummary(root.get()); return PlanExecutor::make(opCtx, std::move(ws), diff --git a/src/mongo/db/query/plan_ranker.cpp b/src/mongo/db/query/plan_ranker.cpp index c5c9436c2de..17ba14d1803 100644 --- a/src/mongo/db/query/plan_ranker.cpp +++ b/src/mongo/db/query/plan_ranker.cpp @@ -95,7 +95,7 @@ size_t PlanRanker::pickBestPlan(const vector<CandidatePlan>& candidates, PlanRan LOG(5) << "Scoring plan " << i << ":" << endl << redact(candidates[i].solution->toString()) << "Stats:\n" << redact(Explain::statsToBSON(*statTrees[i]).jsonString(Strict, true)); - LOG(2) << "Scoring query plan: " << redact(Explain::getPlanSummary(candidates[i].root)) + LOG(2) << "Scoring query plan: " << Explain::getPlanSummary(candidates[i].root) << " planHitEOF=" << statTrees[i]->common.isEOF; double score = scoreTree(statTrees[i].get()); |