[ 
https://issues.apache.org/jira/browse/RATIS-2141?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duong updated RATIS-2141:
-------------------------
    Attachment: heap-dump.png

> Memory leak for stateMachineCache use cases
> -------------------------------------------
>
>                 Key: RATIS-2141
>                 URL: https://issues.apache.org/jira/browse/RATIS-2141
>             Project: Ratis
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 3.1.0
>            Reporter: Duong
>            Priority: Major
>         Attachments: RaftLogCache_entry.png, heap-dump.png
>
>
> In 3.1.0, with stateMachineCache enabled, the RaftLogCache entries contain a 
> reference to the original RaftClientRequest. This is not supposed to happen 
> as RaftLogCache entries should only refer to the LogEntries with data 
> truncated, and RaftLogCache retention policy only counts the size of the 
> entries without data.
> This problem impacts Apache Ozone. The reference form RaftLogCache entries 
> prevent the original RaftClientRequest (which contains a large data chunk) to 
> be GCed. The result is Ozone datanodes quickly run out of heap memory.
> This is not the case with latest master branch, only with the 3.1.0 release.
> The fix for this issue in 3.1.0 is as simple as 
> [6a141544c567a6325b05e2972cd426cdc14060cb|https://github.com/duongkame/ratis/commit/bcff74af0a5fa4b68af2267ce8dfa01f65a5445c].
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to