summaryrefslogtreecommitdiff
path: root/src/mongo/db/repair_database_and_check_version.cpp
diff options
context:
space:
mode:
authorDianna Hohensee <dianna.hohensee@10gen.com>2018-03-05 09:31:16 -0500
committerDianna Hohensee <dianna.hohensee@10gen.com>2018-03-16 12:02:15 -0400
commit906c8056bdab9ed6270e445927b24dd8ef2618aa (patch)
tree2e1f890adbf29d287342d3402c3e76209a63e336 /src/mongo/db/repair_database_and_check_version.cpp
parentfafb34dda41840937f062ab0a48fd784d63b8803 (diff)
downloadmongo-906c8056bdab9ed6270e445927b24dd8ef2618aa.tar.gz
SERVER-33562 Move FeatureCompatibilityVersion::kCollection/kDatabase into namespace_string.h
and clean up some file dependencies
Diffstat (limited to 'src/mongo/db/repair_database_and_check_version.cpp')
-rw-r--r--src/mongo/db/repair_database_and_check_version.cpp28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/mongo/db/repair_database_and_check_version.cpp b/src/mongo/db/repair_database_and_check_version.cpp
index d86c0da16af..214028ee19b 100644
--- a/src/mongo/db/repair_database_and_check_version.cpp
+++ b/src/mongo/db/repair_database_and_check_version.cpp
@@ -70,9 +70,10 @@ const std::string mustDowngradeErrorMsg = str::stream()
Status restoreMissingFeatureCompatibilityVersionDocument(OperationContext* opCtx,
const std::vector<std::string>& dbNames) {
- NamespaceString fcvNss(FeatureCompatibilityVersion::kCollection);
+ NamespaceString fcvNss(NamespaceString::kServerConfigurationNamespace);
- // If the admin database does not exist, create it.
+ // If the admin database, which contains the server configuration collection with the
+ // featureCompatibilityVersion document, does not exist, create it.
Database* db = dbHolder().get(opCtx, fcvNss.db());
if (!db) {
log() << "Re-creating admin database that was dropped.";
@@ -80,14 +81,16 @@ Status restoreMissingFeatureCompatibilityVersionDocument(OperationContext* opCtx
db = dbHolder().openDb(opCtx, fcvNss.db());
invariant(db);
- // If admin.system.version does not exist, create it.
- if (!db->getCollection(opCtx, FeatureCompatibilityVersion::kCollection)) {
- log() << "Re-creating admin.system.version collection that was dropped.";
+ // If the server configuration collection, which contains the FCV document, does not exist, then
+ // create it.
+ if (!db->getCollection(opCtx, NamespaceString::kServerConfigurationNamespace)) {
+ log() << "Re-creating the server configuration collection (admin.system.version) that was "
+ "dropped.";
uassertStatusOK(
createCollection(opCtx, fcvNss.db().toString(), BSON("create" << fcvNss.coll())));
}
- Collection* fcvColl = db->getCollection(opCtx, FeatureCompatibilityVersion::kCollection);
+ Collection* fcvColl = db->getCollection(opCtx, NamespaceString::kServerConfigurationNamespace);
invariant(fcvColl);
// Restore the featureCompatibilityVersion document if it is missing.
@@ -284,12 +287,12 @@ StatusWith<bool> repairDatabasesAndCheckVersion(OperationContext* opCtx) {
repairVerifiedAllCollectionsHaveUUIDs = true;
// Attempt to restore the featureCompatibilityVersion document if it is missing.
- NamespaceString nss(FeatureCompatibilityVersion::kCollection);
+ NamespaceString fcvNSS(NamespaceString::kServerConfigurationNamespace);
- Database* db = dbHolder().get(opCtx, nss.db());
+ Database* db = dbHolder().get(opCtx, fcvNSS.db());
Collection* versionColl;
BSONObj featureCompatibilityVersion;
- if (!db || !(versionColl = db->getCollection(opCtx, nss)) ||
+ if (!db || !(versionColl = db->getCollection(opCtx, fcvNSS)) ||
!Helpers::findOne(opCtx,
versionColl,
BSON("_id" << FeatureCompatibilityVersionParser::kParameterName),
@@ -407,11 +410,12 @@ StatusWith<bool> repairDatabasesAndCheckVersion(OperationContext* opCtx) {
MONGO_UNREACHABLE;
}
- // Check if admin.system.version contains an invalid featureCompatibilityVersion.
- // If a valid featureCompatibilityVersion is present, cache it as a server parameter.
+
+ // If the server configuration collection already contains a valid
+ // featureCompatibilityVersion document, cache it in-memory as a server parameter.
if (dbName == "admin") {
if (Collection* versionColl =
- db->getCollection(opCtx, FeatureCompatibilityVersion::kCollection)) {
+ db->getCollection(opCtx, NamespaceString::kServerConfigurationNamespace)) {
BSONObj featureCompatibilityVersion;
if (Helpers::findOne(
opCtx,