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

Maxim Muzafarov edited comment on IGNITE-8469 at 11/7/18 3:17 PM:
------------------------------------------------------------------

[~mshonichev]

Hello! Thanks for testing this issue. 
The reproducer was added to the test scope and merged with PR. Please, see 
{{PageMemoryNoStoreLeakTest}}.

As a high-level example of this memory leak, you can try to look at 
{{IgniteChangeGlobalStateTest.testActivateAfterFailGetLock}}. If we run it 100+ 
on TC without this fix it will fail with OOM. I don't remember all the details 
the memory leak scenario, but you should configure the backup cluster (with or 
without client nodes) and it should fail on activation when the main cluster is 
online (that's what I mean by `locks exist`). And this is the source of memory 
leak.

I've done several tests with and without this fix and it seems to me that 
everything works fine.



was (Author: mmuzaf):
[~mshonichev]

Hello! Thanks for testing this issue. 
The reproducer was added to the test scope and merged with PR. Please, see 
{{PageMemoryNoStoreLeakTest}}.

As a high-level example of this memory leak, you can try to look at 
{{IgniteChangeGlobalStateTest.testActivateAfterFailGetLock}}. If we run it 100+ 
on TC without this fix it will fail with OOM. I don't remember all the details 
the memory leak scenario, but you should configure the backup cluster (with or 
without client nodes) and it should fail on activation when the main cluster is 
online. And this is the source of memory leak.

I've done several tests with and without this fix and it seems to me that 
everything works fine.


> Non-heap memory leak for calling cluster activation multi times
> ---------------------------------------------------------------
>
>                 Key: IGNITE-8469
>                 URL: https://issues.apache.org/jira/browse/IGNITE-8469
>             Project: Ignite
>          Issue Type: Bug
>          Components: persistence
>            Reporter: Maxim Muzafarov
>            Assignee: Maxim Muzafarov
>            Priority: Major
>             Fix For: 2.7
>
>
> Calling multiple time cluster (with enabled persistence and started client 
> nodes) activation {{ig3CB.cluster().active(true);}} leads to non-heap memory 
> leak.
> Line 
> {{org/apache/ignite/internal/pagemem/impl/PageMemoryNoStoreImpl.java:234}} 
> looks suspicious because of in case method 
> {{org.apache.ignite.internal.pagemem.impl.PageMemoryNoStoreImpl#start}} 
> callled multi times (e.g. activate(true) called multi times) we lost info 
> about allocated regions.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to