You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks for your work on Fluent Bit. I'm evaluating Fluent Bit for an application that can potentially produce large bursts of logs that can occasionally saturate the input buffer for any feasible max buffer size. The desired response to backpressure is to simply slow down log production upstream.
I am having trouble handling backpressure correctly with the forward input plugin. It's not clear to me whether the problem originates in the server, the client, or is caused simply by misconfiguration. The client seems unaware when the forward input plugin pauses due to memory buffer exhaustion. Since message delivery does not appear to fail from the client's perspective, incoming messages can be lost.
To Reproduce
Start the fluent bit server with the following config under $(pwd)/etc/fluent-bit.yml
Observe that the server pauses and resumes the forward input plugin as the memory buffer is saturated while no errors are returned to the fluent bit client
$ l fluentbit-output/fluent-client.test-128mb
-rw-r--r--. 1 casey casey 16M Dec 17 17:05 fluentbit-output/fluent-client.test-128mb
Expected behavior
If I understand the docs on buffering and backpressure correctly, the input plugin should refuse new connections while the memory buffer is over capacity. When this happens, I would expect fluent.Post() to retry according to its retry and wait configuration, which would ultimately slow down the upstream log producer so as to avoid losing data. In actuality, the client seems unaware that the fluent-bit server is rejecting input while the forward plugin is paused.
Your Environment
Version used: latest tag on Docker hub (v3.2.2)
Operating System and version: Fedora 41
Filters and plugins: Forward input plugin, file output plugin
The text was updated successfully, but these errors were encountered:
Bug Report
Describe the bug
Thanks for your work on Fluent Bit. I'm evaluating Fluent Bit for an application that can potentially produce large bursts of logs that can occasionally saturate the input buffer for any feasible max buffer size. The desired response to backpressure is to simply slow down log production upstream.
I am having trouble handling backpressure correctly with the forward input plugin. It's not clear to me whether the problem originates in the server, the client, or is caused simply by misconfiguration. The client seems unaware when the forward input plugin pauses due to memory buffer exhaustion. Since message delivery does not appear to fail from the client's perspective, incoming messages can be lost.
To Reproduce
$(pwd)/etc/fluent-bit.yml
go run .
Observe that the server pauses and resumes the forward input plugin as the memory buffer is saturated while no errors are returned to the fluent bit client
"fluent-client.test-32mb"
Expected behavior
If I understand the docs on buffering and backpressure correctly, the input plugin should refuse new connections while the memory buffer is over capacity. When this happens, I would expect
fluent.Post()
to retry according to its retry and wait configuration, which would ultimately slow down the upstream log producer so as to avoid losing data. In actuality, the client seems unaware that the fluent-bit server is rejecting input while the forward plugin is paused.Your Environment
latest
tag on Docker hub (v3.2.2)The text was updated successfully, but these errors were encountered: