diff options
author | Eric Milkie <milkie@10gen.com> | 2014-12-15 17:09:03 -0500 |
---|---|---|
committer | Eric Milkie <milkie@10gen.com> | 2014-12-17 18:22:24 -0500 |
commit | d9a10c7f8bfd3f28b74bb1208188d1f1fb280c5f (patch) | |
tree | 425d51b81208d1d2bb0f25669b225d3b735363b3 /src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp | |
parent | 8d90ce21ffb7fac21fd9f287ce3d66a4c6b576b8 (diff) | |
download | mongo-d9a10c7f8bfd3f28b74bb1208188d1f1fb280c5f.tar.gz |
SERVER-16313 whitelist of storage options for WiredTiger
Diffstat (limited to 'src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp')
-rw-r--r-- | src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp index 508425b438d..e72c08ce231 100644 --- a/src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp +++ b/src/mongo/db/storage/wiredtiger/wiredtiger_options_init.cpp @@ -27,7 +27,7 @@ * exception statement from all source files in the program, then also delete * it in the license file. */ - + #include "mongo/util/options_parser/startup_option_init.h" #include "mongo/util/options_parser/startup_options.h" @@ -35,20 +35,22 @@ namespace mongo { - // Interface to MongoDB option parsing. - WiredTigerGlobalOptions wiredTigerGlobalOptions; - MONGO_MODULE_STARTUP_OPTIONS_REGISTER(WiredTigerOptions)(InitializerContext* context) { return wiredTigerGlobalOptions.add(&moe::startupOptions); } MONGO_STARTUP_OPTIONS_VALIDATE(WiredTigerOptions)(InitializerContext* context) { - if (!wiredTigerGlobalOptions.handlePreValidation(moe::startupOptionsParsed)) { - ::_exit(EXIT_SUCCESS); - } - Status ret = moe::startupOptionsParsed.validate(); - if (!ret.isOK()) { - return ret; + + // Make --syncdelay (syncPeriodSecs in mmapv1) an alias for checkpointDelaySecs in WT + moe::Value syncdelayVal; + if (moe::startupOptionsParsed.get("storage.mmapv1.syncPeriodSecs", &syncdelayVal).isOK()) { + // syncdelay is a double but checkpointDelaySecs is an int. + moe::Value newVal(static_cast<int>(syncdelayVal.as<double>())); + Status ret = moe::startupOptionsParsed.set( + "storage.wiredTiger.engineConfig.checkpointDelaySecs", newVal); + if (!ret.isOK()) { + return ret; + } } return Status::OK(); } |