diff options
author | Louis Williams <louis.williams@mongodb.com> | 2017-10-10 12:52:19 -0400 |
---|---|---|
committer | Louis Williams <louis.williams@mongodb.com> | 2017-10-16 12:39:30 -0400 |
commit | 203ff7c010d1d4fcbe291852f70fb9d967a171cc (patch) | |
tree | 2783eb259f18ee18356575e8b7b03ae370c62c28 /src/mongo/db/db.cpp | |
parent | 51386591ed96fc3070bdaa2652974dadebeaccaf (diff) | |
download | mongo-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.cpp | 33 |
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; } } } |