Skip to content

Light reloading mechanism #2624

@ganmacs

Description

@ganmacs

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

Metadata

Metadata

Assignees

Labels

enhancementFeature request or improve operations

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions