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

ASF GitHub Bot commented on MNEMONIC-215:
-----------------------------------------

Github user johnugeorge commented on a diff in the pull request:

    https://github.com/apache/incubator-mnemonic/pull/32#discussion_r105798433
  
    --- Diff: 
mnemonic-core/src/main/java/org/apache/mnemonic/NonVolatileMemAllocator.java ---
    @@ -326,6 +327,7 @@ public void sync() {
         long sz = m_nvmasvc.retrieveSize(m_nid, eaddr);
         if (sz > 0L) {
           ret = new DurableChunk<NonVolatileMemAllocator>(this, eaddr, sz);
    +      ret.setCollector(m_chunkcollector);
    --- End diff --
    
    Even if autoreclaim is not set, collector has to be set for manual destroy()


> Memory leak when LinkedList element is destroyed
> ------------------------------------------------
>
>                 Key: MNEMONIC-215
>                 URL: https://issues.apache.org/jira/browse/MNEMONIC-215
>             Project: Mnemonic
>          Issue Type: Bug
>            Reporter: Johnu George
>            Assignee: Johnu George
>            Priority: Critical
>             Fix For: 0.6.0-incubating
>
>
> Here is the implementation of the destroy function in LinkedList node
>   @Override
>   public void destroy() throws RetrieveDurableEntityError {
>     m_holder.destroy();
>     if (null != m_item) {
>       m_item.destroy();
>       m_item = null;
>     }
>     if (null != m_next) {
>       m_next.destroy();
>       m_next = null;
>     }
>   }
> Next is destroyed only when m_next is not null. m_next can also be null if 
> next item is not loaded into memory from PMem. It is required to first 
> restore the item using getNext and then call destroy. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to