[SERVER-15557] Make storage engine specific options namespaced Created: 08/Oct/14  Updated: 27/Oct/15  Resolved: 03/Nov/14

Status: Closed
Project: Core Server
Component/s: Admin
Affects Version/s: None
Fix Version/s: 2.8.0-rc0

Type: Task Priority: Major - P3
Reporter: Daniel Pasette (Inactive) Assignee: Benety Goh
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by DOCS-4285 update mmapv1 configuration file opti... Closed
Tested
Participants:

 Description   

There are a handful of server settings which are specific to particular storage engines.

For 2.8, we need to make these options specific to the storage engine they are intended for. We should also support the old version of the settings in 2.8, but raise a startup warning.

These can be set in three ways at the moment:
1. the config file using the old, non-namespaced strings
2. the config file using the new namespaced strings
3. the command line

If a user tries to set an option using the old, non-namespaced string, the server should raise a startup warning. For example,

2014-10-31T01:54:09.499-0400 W CONTROL  Option: storage.directoryPerDB is deprecated. Please use storage.mmapv1.directoryPerDB instead.

This allows users to specify configurations for multiple storage engines in a configuration file which will be used by the active implementation indicated in storage.engine:

storage:
    engine: myStorageEngine1
    myStorageEngine1:
        x: 1
        y: 2
    myStorageEngine2:
        z: 3

Current options that are storage engine dependant:
--directoryperdb
--noIndexBuildRetry
--noprealloc
--nssize
--quota
--quotaFiles
--smallfiles
--journal
--nojournal
--journalOptions
--journalCommitInterval



 Comments   
Comment by Githook User [ 04/Nov/14 ]

Author:

{u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'}

Message: SERVER-15557 warn if we detect configurations for multiple storage engines

This re-applies commit cf1c4bb5a9da98ec831ff0a30ae78abe81e1d1b0 with the following modifications:
a bug fix for when mongod is run without any command line options
converts the multiple config error to a warning.
removed storage_options.js (added in original commit but not needed anymore)
Branch: master
https://github.com/mongodb/mongo/commit/7511e515211e64612c666b1bcebe358e98f9259c

Comment by Githook User [ 04/Nov/14 ]

Author:

{u'name': u'Dan Pasette', u'email': u'dan@10mongodb.com'}

Message: Revert "SERVER-15557 disallow setting of configuration options for non-active storage engine"

This reverts commit cf1c4bb5a9da98ec831ff0a30ae78abe81e1d1b0.
Branch: master
https://github.com/mongodb/mongo/commit/06a641278afd58caad4a8ecb368aaefb17a0eec1

Comment by Githook User [ 03/Nov/14 ]

Author:

{u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'}

Message: SERVER-15557 disallow setting of configuration options for non-active storage engine
Branch: master
https://github.com/mongodb/mongo/commit/cf1c4bb5a9da98ec831ff0a30ae78abe81e1d1b0

Comment by Githook User [ 03/Nov/14 ]

Author:

{u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'}

Message: SERVER-15557 added "Storage options" section in --help output.
migraged dotted names of mmapv1 options from "storage" to "storage.mmapv1"
storage.mmapv1.directoryPerDB
storage.mmapv1.journal.commitIntervalMs
storage.mmapv1.journal.debugFlags
storage.mmapv1.nsSize
storage.mmapv1.preallocDataFiles
storage.mmapv1.quota.enforced
storage.mmapv1.quota.maxFilesPerDB
storage.mmapv1.smallFiles
storage.mmapv1.syncPeriodSecs
dotted names (without the ".mmapv1" component) of mmapv1 options before migration
will still be accepted but a warning will be raised at startup.
Branch: master
https://github.com/mongodb/mongo/commit/72975ae9051ff89ce1ac34c6f58f67a3afd7cb5c

Comment by Githook User [ 03/Nov/14 ]

Author:

{u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'}

Message: SERVER-15557 added support for deprecated dotted names to yaml configuration file options
Branch: master
https://github.com/mongodb/mongo/commit/0212412257d8c9118a44a8fba5776a9841c1f8e5

Comment by Githook User [ 03/Nov/14 ]

Author:

{u'username': u'benety', u'name': u'Benety Goh', u'email': u'benety@mongodb.com'}

Message: SERVER-15557 extracted mmapv1 startup options from StorageGlobalParams into MMAPV1Options
Branch: master
https://github.com/mongodb/mongo/commit/da18489108f7c94f67533bb52b600ed1efbf6dc9

Generated at Thu Feb 08 03:38:21 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.