summaryrefslogtreecommitdiff
path: root/src/mongo/db/db.cpp
diff options
context:
space:
mode:
authorLouis Williams <louis.williams@mongodb.com>2017-10-10 12:52:19 -0400
committerLouis Williams <louis.williams@mongodb.com>2017-10-16 12:39:30 -0400
commit203ff7c010d1d4fcbe291852f70fb9d967a171cc (patch)
tree2783eb259f18ee18356575e8b7b03ae370c62c28 /src/mongo/db/db.cpp
parent51386591ed96fc3070bdaa2652974dadebeaccaf (diff)
downloadmongo-203ff7c010d1d4fcbe291852f70fb9d967a171cc.tar.gz
SERVER-30242 SERVER-31513 SERVER-31235 Make method to determine if fCV has been initialized in memory. Make fCV state one atomic variable. Initialize fCV on arbiters once a primary is elected.
Diffstat (limited to 'src/mongo/db/db.cpp')
-rw-r--r--src/mongo/db/db.cpp33
1 files changed, 18 insertions, 15 deletions
diff --git a/src/mongo/db/db.cpp b/src/mongo/db/db.cpp
index d2cc915c0a0..5e1b55f9dee 100644
--- a/src/mongo/db/db.cpp
+++ b/src/mongo/db/db.cpp
@@ -412,24 +412,27 @@ void repairDatabasesAndCheckVersion(OperationContext* opCtx) {
}
auto versionInfo = swVersionInfo.getValue();
serverGlobalParams.featureCompatibility.setVersion(versionInfo.version);
- serverGlobalParams.featureCompatibility.setTargetVersion(
- versionInfo.targetVersion);
-
- // On startup, if the targetVersion field exists, then an upgrade/downgrade
- // did not complete successfully.
- if (versionInfo.targetVersion !=
- ServerGlobalParams::FeatureCompatibility::Version::kUnset) {
- log() << "** WARNING: A featureCompatibilityVersion upgrade or downgrade "
- "did not complete. "
- << startupWarningsLog;
+
+ // On startup, if the version is in an upgrading or downrading state, print a
+ // warning.
+ if (versionInfo.version ==
+ ServerGlobalParams::FeatureCompatibility::Version::kUpgradingTo36) {
+ log() << "** WARNING: A featureCompatibilityVersion upgrade did not "
+ << "complete." << startupWarningsLog;
log() << "** The current featureCompatibilityVersion is "
- << FeatureCompatibilityVersion::toString(versionInfo.version)
- << " and the targeted version is "
- << FeatureCompatibilityVersion::toString(versionInfo.targetVersion)
- << "." << startupWarningsLog;
+ << FeatureCompatibilityVersion::toString(versionInfo.version) << "."
+ << startupWarningsLog;
log() << "** To fix this, use the setFeatureCompatibilityVersion "
- << "command to resume upgrade to 3.6 or downgrade to 3.4."
+ << "command to resume upgrade to 3.6." << startupWarningsLog;
+ } else if (versionInfo.version == ServerGlobalParams::FeatureCompatibility::
+ Version::kDowngradingTo34) {
+ log() << "** WARNING: A featureCompatibilityVersion downgrade did not "
+ << "complete. " << startupWarningsLog;
+ log() << "** The current featureCompatibilityVersion is "
+ << FeatureCompatibilityVersion::toString(versionInfo.version) << "."
<< startupWarningsLog;
+ log() << "** To fix this, use the setFeatureCompatibilityVersion "
+ << "command to resume downgrade to 3.4." << startupWarningsLog;
}
}
}