diff options
author | Sam Dunietz <sam.dunietz@10gen.com> | 2016-07-07 17:52:33 -0400 |
---|---|---|
committer | Sam Dunietz <sam.dunietz@10gen.com> | 2016-07-07 17:52:33 -0400 |
commit | 67680aae26d7734e899976d020018b9cad474671 (patch) | |
tree | 1b48d70b02fa2b71d87389ebeed734962894a9b0 /src/mongo/db/mongod_options.cpp | |
parent | abaa59f3990f42aadba3b04e32dabbf3c1e47ce3 (diff) | |
download | mongo-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.cpp | 9 |
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); |