In libbeat the unit tests for updating the output dynamically have been disabled due to flakiness. It seemed like events get lost when updating the output. Inputs that rely on end-to-end ACK (especially in Filebeat) might not receive all ACKs for published events, or the bookeeping might bet out of sync if the outputs loose events. At worst this can lead to a deadlock (local to single inputs) in Filebeat.
As the API to reload the output in libbeat can't be assumed to be stable we need the Agent to restart the Beat if the output is reconfigured.
In libbeat the unit tests for updating the output dynamically have been disabled due to flakiness. It seemed like events get lost when updating the output. Inputs that rely on end-to-end ACK (especially in Filebeat) might not receive all ACKs for published events, or the bookeeping might bet out of sync if the outputs loose events. At worst this can lead to a deadlock (local to single inputs) in Filebeat.
As the API to reload the output in libbeat can't be assumed to be stable we need the Agent to restart the Beat if the output is reconfigured.