Details
Description
The Flume agent (at least the newer version) has an undocumented command line parameter --no-reload-conf which disables the 30 second poll of the configuration file for changes in an attempt to reconfigure the agent. There are many configuration changes that cannot be made without a full restart anyway. Since which are and are not allowed to be changed is undocumented behavior and requires intimate knowledge of the source code, this might be another reason to disable this feature
For myself, I prefer to simply restart the agent after any configuration change and this default behavior sometimes causes problems as there may be a Flume induced restart just before my own restart (via chef, puppet, whatever). Its fine for development, but in production I would never choose this as the default behavior.
We should be able to add an environment property to /etc/default/flume-ng-agent (clearly this is on RHEL distros, but the similar on DEB packaging) to disable this feature. Such as:
FLUME_CONF_DISABLE_RELOAD=true
I thought about just having a PRODUCTION flag, but that seemed to ambiguous as to what it would do.
Under the hood it basically just selects the org.apache.flume.node.PropertiesFileConfigurationProvider over the org.apache.flume.node.PollingPropertiesFileConfigurationProvider – should you go and look for yourself in org.apache.flume.node.Application