summaryrefslogtreecommitdiff
path: root/src/mongo/s/mongos_options.cpp
diff options
context:
space:
mode:
authorMisha Tyulenev <misha@mongodb.com>2016-03-10 17:30:44 -0500
committerMisha Tyulenev <misha@mongodb.com>2016-03-10 18:18:38 -0500
commiteaef6254d3bcb27657de670ec1b9c797965e7c82 (patch)
tree09d29bd80943025732ebd3139deeea0191d8e171 /src/mongo/s/mongos_options.cpp
parent41a738c7629cd52b357b0bce6650182219ae9088 (diff)
downloadmongo-eaef6254d3bcb27657de670ec1b9c797965e7c82.tar.gz
SERVER-22320 remove SYNC option and SyncClusterConnection
Diffstat (limited to 'src/mongo/s/mongos_options.cpp')
-rw-r--r--src/mongo/s/mongos_options.cpp49
1 files changed, 20 insertions, 29 deletions
diff --git a/src/mongo/s/mongos_options.cpp b/src/mongo/s/mongos_options.cpp
index 526cf3f6925..17e85baff74 100644
--- a/src/mongo/s/mongos_options.cpp
+++ b/src/mongo/s/mongos_options.cpp
@@ -254,41 +254,32 @@ Status storeMongosOptions(const moe::Environment& params, const std::vector<std:
return Status(ErrorCodes::BadValue, "error: no args for --configdb");
}
- {
- std::string configdbString = params["sharding.configDB"].as<std::string>();
-
- auto configdbConnectionString = ConnectionString::parse(configdbString);
- if (!configdbConnectionString.isOK()) {
- return Status(ErrorCodes::BadValue,
- str::stream() << "Invalid configdb connection string: "
- << configdbConnectionString.getStatus().toString());
- }
-
- std::vector<HostAndPort> seedServers;
- for (const auto& host : configdbConnectionString.getValue().getServers()) {
- seedServers.push_back(host);
- if (!seedServers.back().hasPort()) {
- seedServers.back() = HostAndPort{host.host(), ServerGlobalParams::ConfigServerPort};
- }
- }
+ std::string configdbString = params["sharding.configDB"].as<std::string>();
- mongosGlobalParams.configdbs =
- ConnectionString{configdbConnectionString.getValue().type(),
- seedServers,
- configdbConnectionString.getValue().getSetName()};
+ auto configdbConnectionString = ConnectionString::parse(configdbString);
+ if (!configdbConnectionString.isOK()) {
+ return configdbConnectionString.getStatus();
}
- std::vector<HostAndPort> configServers = mongosGlobalParams.configdbs.getServers();
-
- if (mongosGlobalParams.configdbs.type() != ConnectionString::SYNC &&
- mongosGlobalParams.configdbs.type() != ConnectionString::SET &&
- mongosGlobalParams.configdbs.type() != ConnectionString::MASTER) {
+ if (configdbConnectionString.getValue().type() != ConnectionString::SET) {
return Status(ErrorCodes::BadValue,
- str::stream() << "Invalid config server value "
- << mongosGlobalParams.configdbs.toString());
+ str::stream() << "configdb supports only replica set connection string");
}
- if (configServers.size() < 3) {
+ std::vector<HostAndPort> seedServers;
+ for (const auto& host : configdbConnectionString.getValue().getServers()) {
+ seedServers.push_back(host);
+ if (!seedServers.back().hasPort()) {
+ seedServers.back() = HostAndPort{host.host(), ServerGlobalParams::ConfigServerPort};
+ }
+ }
+
+ mongosGlobalParams.configdbs =
+ ConnectionString{configdbConnectionString.getValue().type(),
+ seedServers,
+ configdbConnectionString.getValue().getSetName()};
+
+ if (mongosGlobalParams.configdbs.getServers().size() < 3) {
warning() << "Running a sharded cluster with fewer than 3 config servers should only be "
"done for testing purposes and is not recommended for production.";
}