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

Semen Boikov commented on IGNITE-2466:
--------------------------------------

Test uses atomic cache with PRIMARY_SYNC mode and 1 backup, several threads 
execute putAll requests in infinite loop. Eviction policy works correctly and 
number of items in cache is always ~1000. OOM happens because server has too 
many queued GridDhtAtomicUpdateRequests which should be sent to backup. We did 
some improvments to reduce memory consumption (clear 
GridNearAtomicUpdateRequest, do not store unnecessary data in 
GridDhtAtomicUpdateRequest and clear it after ack is received), but still 
client update rate can be too high.

Correct fix for this issue is use existing back-pressure mechanism in 
TcpCommunicationSpi and block socket reads if there are too many unprocessed 
message. Need somehow refactor back-pressure implementation and 
GridNearAtomicUpdateRequest should be treated as unprocessed before response 
from backup is received.

> OutOfMemory when ONHEAP_TIERED mode is used
> -------------------------------------------
>
>                 Key: IGNITE-2466
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2466
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 1.5.0.final
>            Reporter: Denis Magda
>            Assignee: Semen Boikov
>             Fix For: 1.6
>
>         Attachments: MemTest.java, example-ignite.xml
>
>
> To reproduce, run two server nodes with 2g of heap each and then MemTest. 
> Servers will fail with OOME. If backups are disabled or there is only one 
> server node, it works.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to