summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSpencer T Brody <spencer@mongodb.com>2015-12-22 16:15:40 -0500
committerSpencer T Brody <spencer@mongodb.com>2016-01-13 15:44:51 -0500
commitecfe266a47498ba18db62fe97f5d4298c16e23af (patch)
tree0ea6c31f0a44367c89351242ef11d331498b03ad /src
parent4a9123577a4aac9ab3e14bddb519d61082dc2101 (diff)
downloadmongo-ecfe266a47498ba18db62fe97f5d4298c16e23af.tar.gz
SERVER-20422 SERVER-21995 Allow overriding the cached config server string in SSV after upgrade from SCCC to CSRS
(cherry picked from commit eb140e730ffdcf99f26d9f215dd4391b8978acc9)
Diffstat (limited to 'src')
-rw-r--r--src/mongo/db/s/set_shard_version_command.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mongo/db/s/set_shard_version_command.cpp b/src/mongo/db/s/set_shard_version_command.cpp
index 4606720cb33..e0e691117fe 100644
--- a/src/mongo/db/s/set_shard_version_command.cpp
+++ b/src/mongo/db/s/set_shard_version_command.cpp
@@ -363,6 +363,18 @@ private:
return true;
}
+ if (givenConnStr.type() == ConnectionString::SET &&
+ storedConnStr.type() == ConnectionString::SYNC) {
+ log() << "Detected upgrade from mirrored (SCCC) config servers to "
+ "replica set (CSRS) config servers. setShardVersion was given: "
+ << givenConnStr
+ << " for the config server connection string, but has stored: "
+ << storedConnStr;
+ storedConnStr = givenConnStr;
+
+ return true;
+ }
+
const auto& storedRawConfigString = storedConnStr.toString();
if (storedRawConfigString == configdb) {
return true;