You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Anthony Baker (JIRA)" <ji...@apache.org> on 2016/08/22 16:57:22 UTC

[jira] [Closed] (GEODE-1517) Transaction could still proceed after TXManagerImpl is closing during cache close.

     [ https://issues.apache.org/jira/browse/GEODE-1517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Anthony Baker closed GEODE-1517.
--------------------------------

> Transaction could still proceed after TXManagerImpl is closing during cache close.
> ----------------------------------------------------------------------------------
>
>                 Key: GEODE-1517
>                 URL: https://issues.apache.org/jira/browse/GEODE-1517
>             Project: Geode
>          Issue Type: Bug
>          Components: transactions
>            Reporter: Eric Shu
>            Assignee: Eric Shu
>             Fix For: 1.0.0-incubating.M3
>
>
> In GemFireCacheImpl.close method, TXManagerImpl.close() is invoked. It will try to cleanup the TXState. 
>   public void close() {
>     if (isClosed()) {
>       return;
>     }
>     this.closed = true;
>     for (TXStateProxy proxy: this.hostedTXStates.values()) {
>       proxy.close();
>     }
>     for (TXStateProxy proxy: this.localTxMap.values()) {
>       proxy.close();
>     }
>     {
>       TransactionListener[] listeners = getListeners();
>       for (int i=0; i < listeners.length; i++) {
>         closeListener(listeners[i]);
>       }
>     }
>   }
> However, this close() method could be invoked while other p2p thread is still performing tx ops. And it could resurrect a closed TXStateProxy. With offheap enabled, this could cause offheap memory leak once cache is closed.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)