[
https://issues.apache.org/jira/browse/IGNITE-11970?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aleksey Plekhanov updated IGNITE-11970:
---------------------------------------
Fix Version/s: (was: 2.9)
2.10
> 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
> Fix For: 2.10
>
> 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)