Eric Shu created GEODE-1517:
-------------------------------

             Summary: 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



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)

Reply via email to