[ https://issues.apache.org/jira/browse/IGNITE-8243?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrey Gura updated IGNITE-8243: -------------------------------- Fix Version/s: (was: 2.5) 2.6 > Possible memory leak at ExchangeLatchManager during dynamic creating/removing > of the local caches > ------------------------------------------------------------------------------------------------- > > Key: IGNITE-8243 > URL: https://issues.apache.org/jira/browse/IGNITE-8243 > Project: Ignite > Issue Type: Bug > Components: cache > Affects Versions: 2.5 > Reporter: Andrey Aleksandrov > Assignee: Pavel Kovalenko > Priority: Major > Fix For: 2.6 > > Attachments: image.png, reproducer.java > > > Reproducer was attached. Memory analizer report was attached too. > Looks like that next collection never removes its items in case of dynamic > creating/removing of the local caches: > /** Server latches collection. */ > private final ConcurrentMap<T2<String, AffinityTopologyVersion>, ServerLatch> > serverLatches = new ConcurrentHashMap<>(); > To see it you can modify source code a little: > private Latch createServerLatch(String id, AffinityTopologyVersion topVer, > Collection<ClusterNode> participants) { > final T2<String, AffinityTopologyVersion> latchId = new T2<>(id, topVer); > if (serverLatches.containsKey(latchId)) > return serverLatches.get(latchId); > ServerLatch latch = new ServerLatch(id, topVer, participants); > serverLatches.put(latchId, latch); > if (log.isDebugEnabled()) > log.debug("Server latch is created [latch=" + latchId + ", > participantsSize=" + participants.size() + "]"); > log.error("Server latch is created [size=" + serverLatches.size() + > ", latchId = " + latchId + "]"); > And add some breakpoints in places where removing can be done. > Log should be like that: > [2018-04-13 09:55:44,911][ERROR][exchange-worker-#42][ExchangeLatchManager] > Server latch is created [size=1990, latchId = IgniteBiTuple [val1=exchange, > val2=AffinityTopologyVersion [topVer=1, minorTopVer=1989]]] > [2018-04-13 09:55:44,911][ERROR][exchange-worker-#42][ExchangeLatchManager] > Server latch is created [size=1991, latchId = IgniteBiTuple [val1=exchange, > val2=AffinityTopologyVersion [topVer=1, minorTopVer=1990]]] > [2018-04-13 09:55:44,911][ERROR][exchange-worker-#42][ExchangeLatchManager] > Server latch is created [size=1992, latchId = IgniteBiTuple [val1=exchange, > val2=AffinityTopologyVersion [topVer=1, minorTopVer=1991]]] > [2018-04-13 09:55:44,926][ERROR][exchange-worker-#42][ExchangeLatchManager] > Server latch is created [size=1993, latchId = IgniteBiTuple [val1=exchange, > val2=AffinityTopologyVersion [topVer=1, minorTopVer=1992]]] > [2018-04-13 09:55:44,926][ERROR][exchange-worker-#42][ExchangeLatchManager] > Server latch is created [size=1994, latchId = IgniteBiTuple [val1=exchange, > val2=AffinityTopologyVersion [topVer=1, minorTopVer=1993]]] > [2018-04-13 09:55:44,926][ERROR][exchange-worker-#42][ExchangeLatchManager] > Server latch is created [size=1995, latchId = IgniteBiTuple [val1=exchange, > val2=AffinityTopologyVersion [topVer=1, minorTopVer=1994]]] -- This message was sent by Atlassian JIRA (v7.6.3#76005)