diff options
author | Daniel Gottlieb <daniel.gottlieb@mongodb.com> | 2018-02-21 22:13:20 -0500 |
---|---|---|
committer | Daniel Gottlieb <daniel.gottlieb@mongodb.com> | 2018-02-21 22:13:23 -0500 |
commit | 80b1a54a112b5853d0903ae424ffc5e3bb289077 (patch) | |
tree | 3b2cad4010d1deb12a7f91686f5437c48822c896 /src/mongo/db/repair_database_and_check_version.cpp | |
parent | 3157be3048cdeb676579ed0d860d8416cb8c4667 (diff) | |
download | mongo-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.cpp | 12 |
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; |