diff options
-rw-r--r-- | src/mongo/db/catalog/collection.cpp | 32 | ||||
-rw-r--r-- | src/mongo/db/commands/validate.cpp | 10 | ||||
-rw-r--r-- | src/mongo/db/index/index_access_method.h | 3 | ||||
-rw-r--r-- | src/mongo/db/storage/record_store.h | 1 |
4 files changed, 11 insertions, 35 deletions
diff --git a/src/mongo/db/catalog/collection.cpp b/src/mongo/db/catalog/collection.cpp index bc14618b4b9..596c80d396b 100644 --- a/src/mongo/db/catalog/collection.cpp +++ b/src/mongo/db/catalog/collection.cpp @@ -54,7 +54,6 @@ #include "mongo/db/ops/update_driver.h" #include "mongo/db/ops/update_request.h" #include "mongo/db/repl/replication_coordinator_global.h" -#include "mongo/db/server_parameters.h" #include "mongo/db/service_context.h" #include "mongo/db/storage/mmap_v1/mmap_v1_options.h" #include "mongo/db/storage/record_fetcher.h" @@ -926,26 +925,12 @@ void validateIndexKeyCount(OperationContext* txn, int64_t numIdxKeys, int64_t numRecs, ValidateResults* results) { - if (!failIndexKeyTooLong) { - string warning = - "the server is configured with {failIndexKeyTooLong: false}. Validation failures " - "resulting from having fewer index entries than documents are downgraded from errors " - "to warnings"; - results->warnings.push_back(warning); - } - if (idx.isIdIndex() && numIdxKeys != numRecs) { - string msg = str::stream() << "number of _id index entries (" << numIdxKeys + string err = str::stream() << "number of _id index entries (" << numIdxKeys << ") does not match the number of documents (" << numRecs << ")"; - - if (failIndexKeyTooLong) { - results->errors.push_back(msg); - results->valid = false; - } else { - results->warnings.push_back(msg); - } - + results->errors.push_back(err); + results->valid = false; return; // Avoid failing the next two checks, they just add redundant/confusing messages } if (!idx.isMultikey(txn) && numIdxKeys > numRecs) { @@ -959,16 +944,11 @@ void validateIndexKeyCount(OperationContext* txn, // index plugin with different semantics. if (!idx.isSparse() && !idx.isPartial() && idx.getAccessMethodName() == "" && numIdxKeys < numRecs) { - string msg = str::stream() << "index " << idx.indexName() + string err = str::stream() << "index " << idx.indexName() << " is not sparse or partial, but has fewer entries (" << numIdxKeys << ") than documents (" << numRecs << ")"; - - if (failIndexKeyTooLong) { - results->errors.push_back(msg); - results->valid = false; - } else { - results->warnings.push_back(msg); - } + results->errors.push_back(err); + results->valid = false; } } } // namespace diff --git a/src/mongo/db/commands/validate.cpp b/src/mongo/db/commands/validate.cpp index b4f87e353b7..41d5b4afdb8 100644 --- a/src/mongo/db/commands/validate.cpp +++ b/src/mongo/db/commands/validate.cpp @@ -107,15 +107,15 @@ public: if (!status.isOK()) return appendCommandStatus(result, status); + result.appendBool("valid", results.valid); + result.append("errors", results.errors); + if (!full) { - results.warnings.push_back( + result.append( + "warning", "Some checks omitted for speed. use {full:true} option to do more thorough scan."); } - result.appendBool("valid", results.valid); - result.append("warnings", results.warnings); - result.append("errors", results.errors); - if (!results.valid) { result.append("advice", "ns corrupt. See http://dochub.mongodb.org/core/data-recovery"); } diff --git a/src/mongo/db/index/index_access_method.h b/src/mongo/db/index/index_access_method.h index ea9ea90c71c..df62c4ae937 100644 --- a/src/mongo/db/index/index_access_method.h +++ b/src/mongo/db/index/index_access_method.h @@ -28,7 +28,6 @@ #pragma once -#include <atomic> #include <memory> #include "mongo/base/disallow_copying.h" @@ -41,8 +40,6 @@ namespace mongo { -extern std::atomic<bool> failIndexKeyTooLong; // NOLINT - class BSONObjBuilder; class MatchExpression; class UpdateTicket; diff --git a/src/mongo/db/storage/record_store.h b/src/mongo/db/storage/record_store.h index 2beb8368bf4..b6e973a16ab 100644 --- a/src/mongo/db/storage/record_store.h +++ b/src/mongo/db/storage/record_store.h @@ -604,7 +604,6 @@ struct ValidateResults { } bool valid; std::vector<std::string> errors; - std::vector<std::string> warnings; }; /** |