You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Maxim Muzafarov (Jira)" <ji...@apache.org> on 2021/01/25 16:33:00 UTC

[jira] [Updated] (IGNITE-11970) Excessive use of memory in continuous queries

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

Maxim Muzafarov updated IGNITE-11970:
-------------------------------------
    Fix Version/s:     (was: 2.11)

> Excessive use of memory in continuous queries
> ---------------------------------------------
>
>                 Key: IGNITE-11970
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11970
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Igor Belyakov
>            Assignee: Igor Belyakov
>            Priority: Critical
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> When we prepare to send an entry into the continuous query's filter and listener, we store it in an instance of CacheContinuousQueryEventBuffer.Batch.
> The batch is an array of entries of size IGNITE_CONTINUOUS_QUERY_SERVER_BUFFER_SIZE (default is 1000) that stores the currently received entries (we need it for the case of concurrent updates to make sure that we preserve the order of update counters).
> The issue is that when we process a part of the array we keep the links to the processed entries until we exhaust the array (after when we finally clear it). Because of that we may store up to 999 garbage objects which can be a lot if the entries are big.
> Need to clear the entries right after we've processed them.



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