summaryrefslogtreecommitdiff
path: root/src/mongo/db/commands/plan_cache_commands.cpp
diff options
context:
space:
mode:
authorXiangyu Yao <xiangyu.yao@mongodb.com>2019-07-10 18:38:15 -0400
committerXiangyu Yao <xiangyu.yao@mongodb.com>2019-07-10 18:38:15 -0400
commit135c88363bdb5e7b353825f3fec4aa0d7db80571 (patch)
tree2c0d9dfc909ae4a68085792b719ff8a0fdc9f454 /src/mongo/db/commands/plan_cache_commands.cpp
parentcb3b6c8b2a28190560906db4d78ef833eec44425 (diff)
downloadmongo-135c88363bdb5e7b353825f3fec4aa0d7db80571.tar.gz
Revert "SERVER-41279 Eliminate failed plans from consideration during query planning"
This reverts commit 6bba6446e632b557ccc03834d4d48e90336679fc.
Diffstat (limited to 'src/mongo/db/commands/plan_cache_commands.cpp')
-rw-r--r--src/mongo/db/commands/plan_cache_commands.cpp11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/mongo/db/commands/plan_cache_commands.cpp b/src/mongo/db/commands/plan_cache_commands.cpp
index 4fc13e65c6a..fff1ec0905d 100644
--- a/src/mongo/db/commands/plan_cache_commands.cpp
+++ b/src/mongo/db/commands/plan_cache_commands.cpp
@@ -390,9 +390,7 @@ Status listPlansOriginalFormat(std::unique_ptr<CanonicalQuery> cq,
size_t numPlans = entry->plannerData.size();
invariant(numPlans == entry->decision->stats.size());
- invariant(numPlans ==
- entry->decision->scores.size() + entry->decision->failedCandidates.size());
- invariant(entry->decision->candidateOrder.size() == entry->decision->scores.size());
+ invariant(numPlans == entry->decision->scores.size());
for (size_t i = 0; i < numPlans; ++i) {
BSONObjBuilder planBob(plansBuilder.subobjStart());
@@ -406,12 +404,7 @@ Status listPlansOriginalFormat(std::unique_ptr<CanonicalQuery> cq,
// reason is comprised of score and initial stats provided by
// multi plan runner.
BSONObjBuilder reasonBob(planBob.subobjStart("reason"));
- if (i < entry->decision->candidateOrder.size()) {
- reasonBob.append("score", entry->decision->scores[i]);
- } else {
- reasonBob.append("score", 0.0);
- reasonBob.append("failed", true);
- }
+ reasonBob.append("score", entry->decision->scores[i]);
BSONObjBuilder statsBob(reasonBob.subobjStart("stats"));
PlanStageStats* stats = entry->decision->stats[i].get();
if (stats) {