Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-34189

"Dynamic" SET_PARAM options in ep-engine are not all modifiable via epctl

    XMLWordPrintable

Details

    • Untriaged
    • Unknown
    • KV-Engine MH 2nd Beta

    Description

      In ep-engine the SET_PARAM implementation (EventuallyPersistentEngine::setParam) is a hand-written code to check for each dynamically configurable config parameter.

      As such, it is easy to omit a code for particular dynamic config param and not be able to change it via epctl.

      For example, flusher_batch_split_trigger is a dynamic config param and the flusher itself can handle it changing dynamically, however it has been omitted from the SET_PARAM(flush) handler - EventuallyPersistentEngine::setFlushParam and hence cannot be modified on the fly. I expect an audit of the config parameters will identify more...

      We should:

      1. Add tests which verify that every dynamic config parameter in configuration.json can indeed to changed via SET_PARAM, and/or
      2. Modify EventuallyPersistentEngine::setParam and related functions to be data-driven / auto-generated from configuration.json, enforcing that all params marked as dynamic are indeed dynamically-modifiable.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            drigby Dave Rigby (Inactive)
            drigby Dave Rigby (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                PagerDuty