-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Libbeat output reloading cause a goroutine leak and a possibly a fd leak #10491
Labels
bug
libbeat
Management
Team:Integrations
Label for the Integrations team
Team:Services
(Deprecated) Label for the former Integrations-Services team
Comments
ph
changed the title
Libbeat eutput reloading cause a goroutine leak and a possibly a fd leak
Libbeat output reloading cause a goroutine leak and a possibly a fd leak
Feb 1, 2019
Adding pprof goroutine trace to identify reports.
|
Looking at reloadable part this doesn't look so bad to fix. |
This was referenced Feb 4, 2019
andresrc
added
Team:Services
(Deprecated) Label for the former Integrations-Services team
[zube]: Inbox
[zube]: Ready
and removed
[zube]: In Progress
[zube]: Inbox
labels
Jan 27, 2020
andresrc
added
Team:Integrations
Label for the Integrations team
and removed
Team:Beats
labels
Mar 6, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bug
libbeat
Management
Team:Integrations
Label for the Integrations team
Team:Services
(Deprecated) Label for the former Integrations-Services team
Central management relies on the reloading implementation inside libbeat, when an input, module or output is found in the incoming configurations from CM, CM will take care of reloading the appropriate part of the code.
Lets take the following scenario:
Filebeat is configured with a simple input listening to events from the
/var/log/syslog
path and send events to Elasticsearch.Now assume that the configuration changes every second when we reload the output, we have to migrate in flight events in the queue to the new output, when a new Elasticsearch output is created the first thing it will do is to ping the Elasticsearch host.
The current problem is when we swap the output, we keep a goroutine of the previous output and also keep a reference to the TCP Transport pool created for the output, in short we leak a goroutine and a fd on every reload of the output.
The text was updated successfully, but these errors were encountered: