[ 
https://issues.apache.org/jira/browse/IGNITE-10959?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17114194#comment-17114194
 ] 

Zane Hu commented on IGNITE-10959:
----------------------------------

As I commented before, there are two confirmed cases of memory blowup in 
Ignite, which are caused by too many cache update events in pending buffers 
since an older update event than the buffered pending events has not arrived 
yet. 
 # One is per-partition TreeMap 
CacheContinuousQueryPartitionRecovery.pendingEvts in 
CacheContinuousQueryHandler.rcvs. It has a upper-bound prevention of 
MAX_BUFF_SIZE.
 # Another is per-partition ConcurrentSkipListMap 
CacheContinuousQueryEventBuffer.pending. It has no upper-bound prevention on 
CacheContinuousQueryEventBuffer.pending.

Attached below is a pseudo code of the main logic flow of how they are 
processed in Ignite. Hope it can help people to fix the problem. They all 
started in 
CacheContinuousQueryHandler.CacheContinuousQueryListener.onEntryUpdated() when 
a cache entry is updated.

[^Memory_blowup_in_Ignite_CacheContinuousQueryHandler.txt]

 

> Memory leaks in continuous query handlers
> -----------------------------------------
>
>                 Key: IGNITE-10959
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10959
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.7
>            Reporter: Denis Mekhanikov
>            Assignee: Maxim Muzafarov
>            Priority: Critical
>         Attachments: CacheContinuousQueryMemoryUsageTest.java, 
> CacheContinuousQueryMemoryUsageTest.result, 
> CacheContinuousQueryMemoryUsageTest2.java, 
> Memory_blowup_in_Ignite_CacheContinuousQueryHandler.txt, 
> Memory_blowup_in_Ignite_CacheContinuousQueryHandler.txt, 
> Memory_blowup_in_Ignite_CacheContinuousQueryHandler.txt, 
> continuousquery_leak_profile.png
>
>
> Continuous query handlers don't clear internal data structures after cache 
> events are processed.
> A test, that reproduces the problem, is attached.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to