MaxScale reads parameters from configuration files on startup, and then reads any parameters that may have been modified interactively with "maxctrl alter" commands.
This is because any parameters modified with "maxctrl alter" get cached in /var/lib/maxscale/maxscale.cnf.d, and this behavior is not documented, for example, in the alter section of the KB.
This behavior is handy for the experienced user in some special circumstances, but quite counter-intuitive, since it makes what should be volatile changes (and is volatile changes in all other MariaDB products) into the most persistent and overriding parameter changes, and hidden from the view of more customary configuration locations, without providing any sort of feedback to the user or system in parameter displays such as the output of "maxctrl show maxscale".
- To make administrators aware of these extra parameters being applied on start-up, object names including servers, routers, filters and monitors, on the output of any maxctrl command should have a visual indicator (asterisk or color-change) whenever they are running with parameters modified interactively, either through a maxctrl alter command or from getting picked up from the cache file in /var/lib/maxscale/maxscale.cnf.d
- On startup MaxScale should log warnings when parameters have been read from someplace other than user-defined configuration files.
- The option to persist interactive changes should have a parametric switch, by default turned off: "maxctrl_persistent_alter=false", for instance.