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)