vectordotdev / vector

A high-performance observability data pipeline.
https://vector.dev
Mozilla Public License 2.0
18.28k stars 1.61k forks source link

Support reloading when global options change #1815

Open ktff opened 4 years ago

ktff commented 4 years ago

Context

Vector supports being reloaded while running, but not if any global option has been changed.

Change

We should support reloading even if some global option has been changed.

Implementation

This could be as simple as considering everything has changed when any global option has been changed. But complications could arise when global option data_dir is changed regards to https://vector.dev/docs/administration/process-management/#graceful-pipeline-transitioning. Also how log_schema works would require large change.

Motivation

Removing this exception would streamline our reload story, which would in turn simplify our documentation and enhance UX.

binarylogic commented 4 years ago

Thanks for opening this. I agree! I'm curious how often users are changing global variables like this. I'd like to hear more actual use cases before work begins.

tshepang commented 2 years ago

It probably happens more for early users, as they are exploring the tool. I didn't find the requirement (to restart) annoying though... it is indeed rare to change global config. I consider it a nice-to-have.

jszwedko commented 1 year ago

I discussed this today with @lukesteensen today and he made the good observation that maybe we should split out options, like data_dir, that are very difficult to handle reload relative to the value gained by making them reloadable for to CLI flags or, potentially, a separate file, thus making it clearer which options are reloadable and which are not. Generally reload is most useful for updates to the topology itself.

Related: