Skip to content

Conversation

@Watson1978
Copy link
Collaborator

Previously, the HTTP output handler did not explicitly read the response body from Excon requests.
This caused Excon to retain data in the socket buffer, leading to memory leaks.

Furthermore, this unconsumed data caused delays in sending subsequent requests (IO blocking).
As a result, the output throughput dropped, causing the Fluentd buffer (MemoryChunk) to gradually bloat as it accumulated pending records.

This commit adds response.body to force the buffer to be flushed, resolving both the Excon memory leak and the buffer bloat issue.

@Watson1978 Watson1978 force-pushed the fix-leak branch 2 times, most recently from c2063ea to 434df8f Compare January 24, 2026 02:22
Previously, the HTTP output handler did not explicitly read the response body from Excon requests.
This caused Excon to retain data in the socket buffer, leading to memory leaks.

Furthermore, this unconsumed data caused delays in sending subsequent requests (IO blocking).
As a result, the output throughput dropped, causing the Fluentd buffer (MemoryChunk) to gradually bloat as it accumulated pending records.

This commit adds `response.body` to force the buffer to be flushed, resolving both the Excon memory leak and the buffer bloat issue.
@Watson1978
Copy link
Collaborator Author

Before

image

After

20260124_235354

@Watson1978 Watson1978 merged commit ae38794 into main Jan 24, 2026
19 checks passed
@Watson1978 Watson1978 deleted the fix-leak branch January 25, 2026 05:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants