[
https://issues.apache.org/jira/browse/IGNITE-20424?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Petrov updated IGNITE-20424:
------------------------------------
Summary: Slow thin client connection can lead to consuming of huge amount
of heap (was: [Thin clients] Slow thin clients connection can lead to
consuming of huge amount of heap )
> Slow thin client connection can lead to consuming of huge amount of heap
> -------------------------------------------------------------------------
>
> Key: IGNITE-20424
> URL: https://issues.apache.org/jira/browse/IGNITE-20424
> Project: Ignite
> Issue Type: Task
> Reporter: Mikhail Petrov
> Priority: Major
> Labels: ise
> Time Spent: 10m
> Remaining Estimate: 0h
>
> All messages designated for the thin client are accumulated in the selector
> queue GridSelectorNioSessionImpl#queue before they are sent. Note that
> GridSelectorNioSessionImpl#queue for the Ignite Thin Client currently is
> unbound. If the thin client connection is slow and a huge number of heavy
> messages are about to send to the thin client,
> GridSelectorNioSessionImpl#queue growing size can lead to OOM.
> See
> 1. https://issues.apache.org/jira/browse/IGNITE-20327
> 2. https://github.com/apache/ignite/issues/10559
> We need to investigate mechanisms to limit the thin client message queue size.
> Currently, two mechanisms related to the described problem have already been
> implemented:
> 1. GridNioServer.Builder#messageQueueSizeListener is used to limit the
> message queue size for Ignite Thick clients - if the message queue size limit
> is exceeded, the client node will be forced to leave the cluster.
> 2. GridNioServer.Builder#sendQueueLimit is used to block a thread that sends
> a message if the message queue size limit is exceeded. Currently is used with
> Thick Clients and Ignite REST clients.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)