You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Mahesh Renduchintala <ma...@aline-consulting.com> on 2020/02/26 06:59:51 UTC

Ignite 2.7.6: Memory Leak with Direct buffers in TCPCommunication SPI

Hi,

We have been searching for a cause of memory leak in ignite server nodes for many weeks now.
The memory leak exists and below is the scenario.

Scenario

  *   Scenario
     *   Our ignite servers have about 50GB of data. Two servers were baselined
     *   There are about 10 client nodes connected
     *   OffHeap memory - 64GB per node, 48GB heap (XMS, XMS parameters)
  *   Test
     *   start all 10 nodes
     *   wait for 10 nodes to be connected
     *   sleep for 30 mins
     *   Stop all 10 nodes (docker rm -f X)
     *   Loop 1 to 4 steps infinitely

    Observations

     *   With every iteration, about 1GB of memory disappears from the heap f servers
     *   After about 100 iterations, server nodes crash reporting OOM

Workaround

     *   The memory leak does not occur when directBuffer is made false as below. Meaning TCP buffers are only onHeap
        *

<property name="communicationSpi">
    <bean class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi">
        <property name="connectTimeout" value="90000"/>
        <property name="directBuffer" value="false"/>
        <property name="directSendBuffer" value="false"/>
        <property name="messageQueueLimit" value="10000"/>
        <property name="idleConnectionTimeout" value="#{315360000000L}"/>
        <property name="selectorSpins" value="2"/>
        <property name="usePairedConnections" value="true"/>
        <property name="filterReachableAddresses" value="true"/>
        <property name="socketWriteTimeout" value="20000"/>
    </bean>
</property>

Hope you can reproduce this problem at your end.
This occurs with any default configuration of ignite servers. This is why, I am not sending mine.

regards
Mahesh



                             *   The only work around we found is to use on

Re: Ignite 2.7.6: Memory Leak with Direct buffers in TCPCommunication SPI

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

I can see that you have 19G of Object[] in heap. I'm not sure if it has any
relation to direct buffers.

Can you debug where these Object[]'s are referenced from?

As a side note, our test suites bring tens of thousands of nodes up and
down in one JVM and not face this issue.

Regards,
-- 
Ilya Kasnacheev


вс, 1 мар. 2020 г. в 08:12, Mahesh Renduchintala <
mahesh.renduchintala@aline-consulting.com>:

> Please see the attached jhist.
> In this condition one of the node consumed about 18 GB.
>

Re: Ignite 2.7.6: Memory Leak with Direct buffers in TCPCommunication SPI

Posted by Mahesh Renduchintala <ma...@aline-consulting.com>.
Please see the attached jhist.
In this condition one of the node consumed about 18 GB.

Re: Ignite 2.7.6: Memory Leak with Direct buffers in TCPCommunication SPI

Posted by Vladimir Pligin <vo...@yandex.ru>.
By the way it would be great if you share a couple of heap histograms between
restarts. Something like jmap -histo <pid> > histo. Is it possible?



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Ignite 2.7.6: Memory Leak with Direct buffers in TCPCommunication SPI

Posted by Vladimir Pligin <vo...@yandex.ru>.
Hi Manesh,

Thanks for sharing your case. We'll try to reproduce it.



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/