Alexey Kukushkin created IGNITE-16448:
-----------------------------------------

             Summary: Optimize unacknowledged messages queue for FULL_SYNC 
caches
                 Key: IGNITE-16448
                 URL: https://issues.apache.org/jira/browse/IGNITE-16448
             Project: Ignite
          Issue Type: Improvement
    Affects Versions: 2.12
            Reporter: Alexey Kukushkin
         Attachments: apache-ignite-msgReqs-heap-usage.png

Apache Ignite queues all unacknowledged messages in the 
{{GridNioRecoveryDescriptor#msgReqs}} queue. Size of this queue is effectively 
controlled by the {{TcpCommunicationSpi.ackSendThreshold}} property, which is 
32 by default. 

Queuing PUTs of large entries results in significant heap memory usage.

Please check if we really need to queue PUTs into FULL_SYNC caches. It seems to 
me we should not since a failure to write to a backup would be sent back to the 
client right away without any retries. If that is the case then please optimize 
the heap usage by not queueing FULL_SYNC cache update messages. 

See the heap usage example attached:  !apache-ignite-msgReqs-heap-usage.png! 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to