Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Light reloading mechanism #2624

Closed
ganmacs opened this issue Sep 20, 2019 · 0 comments · Fixed by #2716
Closed

Light reloading mechanism #2624

ganmacs opened this issue Sep 20, 2019 · 0 comments · Fixed by #2716
Assignees
Labels
enhancement Feature request or improve operations

Comments

@ganmacs
Copy link
Member

ganmacs commented Sep 20, 2019

Is your feature request related to a problem? Please describe.*

no

Describe the solution you'd like

Current implement, fluentd just kills worker when receiving SIGHUP(reload signal).
This needs to re-spawn the worker process. so it takes not a short time (No downtime alright, but fluentd can't deal with messages at that time).

So it would be good if there is a more lightweight, safer reload mechanism.
I think switching Fluent:Engine to the new one when receiving the signal solves the problem.

Describe alternatives you've considered

I thought that blue-green deployment like reloading would work(starting new config one -> run two processes (old one and new one) at time time -> kill old one).
But it turned out that this kind of reloading mechanism is not well-matched for fluentd.
e.g. in_tail plugin and file_buffer plugin don't work properly when running two fluentd processes.

Use Serverengine's live restart to reload config setting.

Additional context

@ganmacs ganmacs self-assigned this Sep 30, 2019
@ganmacs ganmacs changed the title Serverengine based dynamic config reload Safe reloading mechanism Oct 10, 2019
@ganmacs ganmacs added the enhancement Feature request or improve operations label Oct 15, 2019
@ganmacs ganmacs changed the title Safe reloading mechanism Light reloading mechanism Dec 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Feature request or improve operations
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant