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
Netty plugins uses Direct memory to allocate buffers to process data, however when byte arrays resides on direct space, there isn't any mechanism to track down to the root that retains most of the memory, when leaks or an OOM error happens.
To make more evident in heap profiling dumps, would be ideal to leverage Java Heap allocation of such buffers.
After some testing, using just Java Heap buffers, under heavy load on Logstash, didn't shown any performance degradation.
Provide a global setting that can enable disable the selection to allocate Netty buffers from direct vs java heap. The setting should implicitly configure the Netty's properties that command the kinds of allocation (-Dio.netty.allocator.numDirectArenas=0 -Dio.netty.noPreferDirect=true).
Initially this behaviour would be disabled by default, so that a user can opt-in for such feature. In a later release the flag could be enabled by default.
The content you are editing has changed. Please copy your edits and refresh the page.
Considerations
Netty plugins uses Direct memory to allocate buffers to process data, however when byte arrays resides on direct space, there isn't any mechanism to track down to the root that retains most of the memory, when leaks or an OOM error happens.
To make more evident in heap profiling dumps, would be ideal to leverage Java Heap allocation of such buffers.
After some testing, using just Java Heap buffers, under heavy load on Logstash, didn't shown any performance degradation.
Plugins Impacted
Related Issues
Proposal
Provide a global setting that can enable disable the selection to allocate Netty buffers from direct vs java heap. The setting should implicitly configure the Netty's properties that command the kinds of allocation (
-Dio.netty.allocator.numDirectArenas=0
-Dio.netty.noPreferDirect=true
).Initially this behaviour would be disabled by default, so that a user can opt-in for such feature. In a later release the flag could be enabled by default.
Tasks
The text was updated successfully, but these errors were encountered: