[ https://issues.apache.org/jira/browse/IGNITE-5593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16207261#comment-16207261 ]
ASF GitHub Bot commented on IGNITE-5593: ---------------------------------------- Github user AMashenkov closed the pull request at: https://github.com/apache/ignite/pull/2210 > Affinity change message leak on massive topology updates > -------------------------------------------------------- > > Key: IGNITE-5593 > URL: https://issues.apache.org/jira/browse/IGNITE-5593 > Project: Ignite > Issue Type: Bug > Components: cache > Affects Versions: 1.7 > Reporter: Alexey Goncharuk > Assignee: Andrew Mashenkov > Priority: Critical > Fix For: 2.1 > > > When late affinity assignment is enabled, we complete the exchange future > with custom discovery event. Since discovery topology events usually are much > faster than exchange futures completion, it is possible that a newly joined > node can 'see' the affinity change messages that are related to previous > topology versions when this node even was not present in the topology. > When this message is received, an exchange future is created and this message > is added to discoEvts list. However, this future never completes on this node > because init() is never called. This means that this exchange future sits in > the exchange set with the affinity change message. > Since the number of topology changes (and, thus, messages) can be quite > large, this leads to excessive memory consumption on the starting node. I've > observed ~3Gb of heap wasted on one of the nodes when > 200 nodes were > restarted. -- This message was sent by Atlassian JIRA (v6.4.14#64029)