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

Logstash "pipelining" option is too high by one #41704

Open
faec opened this issue Nov 20, 2024 · 2 comments
Open

Logstash "pipelining" option is too high by one #41704

faec opened this issue Nov 20, 2024 · 2 comments
Labels
bug Team:Elastic-Agent-Data-Plane Label for the Agent Data Plane team

Comments

@faec
Copy link
Contributor

faec commented Nov 20, 2024

The logstash output documentation on pipelining says:

Configures the number of batches to be sent asynchronously to Logstash while waiting for ACK from Logstash. Output only becomes blocking once number of pipelining batches have been written. Pipelining is disabled if a value of 0 is configured. The default value is 2.

However, this limit isn't enforced properly, it just sets the size of an internal channel buffer, and in fact when pipelining is set to 2 (or n) the number of simultaneous batches is 3 (or n+1).

This is mostly significant because it affects the proper queue size for full utilization under load balancing (which can also affect the ability to recover from a failing logstash host): whereas the documentation implies at most (worker * bulk_max_size * len(hosts) * pipelining) events will be in flight (and thus the queue should be larger than that to make sure all workers can be used), in fact the number is worker * bulk_max_size * len(hosts) * (pipelining+1).

@faec faec added bug Team:Elastic-Agent-Data-Plane Label for the Agent Data Plane team labels Nov 20, 2024
@elasticmachine
Copy link
Collaborator

Pinging @elastic/elastic-agent-data-plane (Team:Elastic-Agent-Data-Plane)

@pierrehilbert pierrehilbert removed the Team:Elastic-Agent-Data-Plane Label for the Agent Data Plane team label Nov 20, 2024
@botelastic botelastic bot added the needs_team Indicates that the issue/PR needs a Team:* label label Nov 20, 2024
@pierrehilbert pierrehilbert added Team:Elastic-Agent-Data-Plane Label for the Agent Data Plane team and removed needs_team Indicates that the issue/PR needs a Team:* label labels Nov 20, 2024
@cmacknz
Copy link
Member

cmacknz commented Nov 20, 2024

We discussed this today in the data plane meeting.

My preference is that we fix this to remove the accidental +1, clearly document this fix in the changelog, and increase the current default to default+1 so that for users who have not explicitly changed the pipelining value there is no change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Team:Elastic-Agent-Data-Plane Label for the Agent Data Plane team
Projects
None yet
Development

No branches or pull requests

4 participants