[ 
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)

Reply via email to