summaryrefslogtreecommitdiff
path: root/src/mongo/db/mongod_options.cpp
diff options
context:
space:
mode:
authorDidier Nadeau <didier.nadeau@mongodb.com>2022-02-20 20:36:51 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-02-20 21:18:11 +0000
commitc8c31330d7b022ef59c97b97f3dfc9f244ccaef7 (patch)
tree715195d58b1e8aec37a19b4f0c4925bccefafb7a /src/mongo/db/mongod_options.cpp
parentce3b2db6de5728e161a865caf3b03f352e6daeed (diff)
downloadmongo-c8c31330d7b022ef59c97b97f3dfc9f244ccaef7.tar.gz
SERVER-63266 Allow server to be started without setname in serverless mode
Diffstat (limited to 'src/mongo/db/mongod_options.cpp')
-rw-r--r--src/mongo/db/mongod_options.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mongo/db/mongod_options.cpp b/src/mongo/db/mongod_options.cpp
index 0a676000a31..dd8d6d5c491 100644
--- a/src/mongo/db/mongod_options.cpp
+++ b/src/mongo/db/mongod_options.cpp
@@ -501,6 +501,14 @@ Status storeMongodOptions(const moe::Environment& params) {
}
repl::ReplSettings replSettings;
+ if (params.count("replication.serverless")) {
+ if (params.count("replication.replSet") || params.count("replication.replSetName")) {
+ return Status(ErrorCodes::BadValue,
+ "serverless cannot be used with replSet or replSetName options");
+ }
+ // Starting a node in "serverless" mode implies it uses a replSet.
+ replSettings.setServerlessMode();
+ }
if (params.count("replication.replSet")) {
/* seed list of hosts for the repl set */
replSettings.setReplSetString(params["replication.replSet"].as<std::string>().c_str());
@@ -526,7 +534,7 @@ Status storeMongodOptions(const moe::Environment& params) {
storageGlobalParams.allowOplogTruncation = false;
}
- if (!replSettings.getReplSetString().empty() &&
+ if (replSettings.usingReplSets() &&
(params.count("security.authorization") &&
params["security.authorization"].as<std::string>() == "enabled") &&
!serverGlobalParams.startupClusterAuthMode.x509Only() &&