summaryrefslogtreecommitdiff
path: root/src/mongo/db/repair_database_and_check_version.cpp
diff options
context:
space:
mode:
authorDaniel Gottlieb <daniel.gottlieb@mongodb.com>2018-02-21 22:13:20 -0500
committerDaniel Gottlieb <daniel.gottlieb@mongodb.com>2018-02-21 22:13:23 -0500
commit80b1a54a112b5853d0903ae424ffc5e3bb289077 (patch)
tree3b2cad4010d1deb12a7f91686f5437c48822c896 /src/mongo/db/repair_database_and_check_version.cpp
parent3157be3048cdeb676579ed0d860d8416cb8c4667 (diff)
downloadmongo-80b1a54a112b5853d0903ae424ffc5e3bb289077.tar.gz
SERVER-33359: Allow RTT storage engines to manage indexes on rollback.
Diffstat (limited to 'src/mongo/db/repair_database_and_check_version.cpp')
-rw-r--r--src/mongo/db/repair_database_and_check_version.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mongo/db/repair_database_and_check_version.cpp b/src/mongo/db/repair_database_and_check_version.cpp
index 88c7e50a851..bf847c31d1a 100644
--- a/src/mongo/db/repair_database_and_check_version.cpp
+++ b/src/mongo/db/repair_database_and_check_version.cpp
@@ -44,6 +44,7 @@
#include "mongo/db/repair_database.h"
#include "mongo/db/repl/drop_pending_collection_reaper.h"
#include "mongo/db/repl/replication_coordinator_global.h"
+#include "mongo/db/server_options.h"
#include "mongo/db/storage/mmap_v1/mmap_v1_options.h"
#include "mongo/util/log.h"
#include "mongo/util/quick_exit.h"
@@ -265,6 +266,17 @@ StatusWith<bool> repairDatabasesAndCheckVersion(OperationContext* opCtx) {
StatusWith<std::vector<StorageEngine::CollectionIndexNamePair>> swIndexesToRebuild =
storageEngine->reconcileCatalogAndIdents(opCtx);
fassertStatusOK(40593, swIndexesToRebuild);
+
+ if (!swIndexesToRebuild.getValue().empty() && serverGlobalParams.indexBuildRetry) {
+ log() << "note: restart the server with --noIndexBuildRetry "
+ << "to skip index rebuilds";
+ }
+
+ if (!serverGlobalParams.indexBuildRetry) {
+ log() << " not rebuilding interrupted indexes";
+ swIndexesToRebuild.getValue().clear();
+ }
+
for (auto&& collIndexPair : swIndexesToRebuild.getValue()) {
const std::string& coll = collIndexPair.first;
const std::string& indexName = collIndexPair.second;