summaryrefslogtreecommitdiff
path: root/src/mongo/db/mongod_options.cpp
diff options
context:
space:
mode:
authorSam Dunietz <sam.dunietz@10gen.com>2016-07-07 17:52:33 -0400
committerSam Dunietz <sam.dunietz@10gen.com>2016-07-07 17:52:33 -0400
commit67680aae26d7734e899976d020018b9cad474671 (patch)
tree1b48d70b02fa2b71d87389ebeed734962894a9b0 /src/mongo/db/mongod_options.cpp
parentabaa59f3990f42aadba3b04e32dabbf3c1e47ce3 (diff)
downloadmongo-67680aae26d7734e899976d020018b9cad474671.tar.gz
SERVER-24551 Version 3.2 incorrect 'nojournal is not allowed when configsvr is specified' error when specifying nojournal=false
Diffstat (limited to 'src/mongo/db/mongod_options.cpp')
-rw-r--r--src/mongo/db/mongod_options.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mongo/db/mongod_options.cpp b/src/mongo/db/mongod_options.cpp
index 2d2db93a737..6948fd880af 100644
--- a/src/mongo/db/mongod_options.cpp
+++ b/src/mongo/db/mongod_options.cpp
@@ -447,8 +447,7 @@ Status addMongodOptions(moe::OptionSection* options) {
"declare this is a config db of a cluster; default port 27019; "
"default dir /data/configdb")
.setSources(moe::SourceAllLegacy)
- .incompatibleWith("shardsvr")
- .incompatibleWith("nojournal");
+ .incompatibleWith("shardsvr");
sharding_options
.addOptionChaining("shardsvr",
@@ -1256,6 +1255,12 @@ Status storeMongodOptions(const moe::Environment& params, const std::vector<std:
if (params.count("sharding.clusterRole")) {
auto clusterRoleParam = params["sharding.clusterRole"].as<std::string>();
if (clusterRoleParam == "configsvr") {
+ bool journal = true;
+ params.get("storage.journal.enabled", &journal);
+ if (!journal) {
+ return Status(ErrorCodes::BadValue,
+ "journaling cannot be turned off when configsvr is specified");
+ }
serverGlobalParams.clusterRole = ClusterRole::ConfigServer;
replSettings.setMajorityReadConcernEnabled(true);