Details
-
Bug
-
Resolution: Fixed
-
Critical
-
5.1.3, 5.5.4, 6.0.1, 6.5.0
-
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:
- Add tests which verify that every dynamic config parameter in configuration.json can indeed to changed via SET_PARAM, and/or
- 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
For Gerrit Dashboard: MB-34189 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
115421,7 | MB-34189: Allow durability_timeout_task_interval to be changed dynamically | master | kv_engine | Status: MERGED | +2 | +1 |
115422,10 | MB-34189: Audit configuration.json for non-dynamic params | master | kv_engine | Status: MERGED | +2 | +1 |
115439,5 | MB-34189: Allow connection_manager_interval to be dynamically changed | master | kv_engine | Status: MERGED | +2 | +1 |
115440,10 | MB-34189: Add missing handlers for dynamic config params | master | kv_engine | Status: MERGED | +2 | +1 |