Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-15557

Make storage engine specific options namespaced

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.8.0-rc0
    • Affects Version/s: None
    • Component/s: Admin
    • Labels:
      None

      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

            Assignee:
            benety.goh@mongodb.com Benety Goh
            Reporter:
            dan@mongodb.com Daniel Pasette (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated:
              Resolved: