summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Guo <robert.guo@10gen.com>2016-02-09 13:50:12 -0500
committerRobert Guo <robert.guo@10gen.com>2016-02-09 13:50:12 -0500
commit5502beaa72ad05b8da994f9ff84aa976e0871649 (patch)
tree788eaed3c7a692a424f080d16a8841dc8afa3c13
parent4c9a823b6ec3de808c675c99f0fec40f48c491ca (diff)
downloadmongo-5502beaa72ad05b8da994f9ff84aa976e0871649.tar.gz
Revert "SERVER-22234 The Validate Command Should Work with failIndexKeyTooLong"
This reverts commit 066d5c3f49c415af84607603f6cbce82590c4da1.
-rw-r--r--src/mongo/db/catalog/collection.cpp32
-rw-r--r--src/mongo/db/commands/validate.cpp10
-rw-r--r--src/mongo/db/index/index_access_method.h3
-rw-r--r--src/mongo/db/storage/record_store.h1
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;
};
/**