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

Maxim Muzafarov commented on IGNITE-8469:
-----------------------------------------

[~agoncharuk] 

As another solution we can protect double init of {{DirectMemoryProvider}} by 
adding somethink like {{isProviderInit}} flag to {{PageMemoryNoStoreImpl}}. 
This will eliminate whole risks of jvm crash added current changes in PR.
But throwing exception from {{initialize}} method in case of double calls 
should be propageted to all implementions of {{DirectMemoryProvider}} interface 
and it's not for this task I think.
Is this case better?

> Non-heap memroy 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.6
>
>
> 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