[ 
https://issues.apache.org/jira/browse/CASSANDRA-11854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15350521#comment-15350521
 ] 

Marcus Eriksson commented on CASSANDRA-11854:
---------------------------------------------

In {{SocketThread#close()}} we iterate over the {{connections}} and close each 
one, this will not work now since the {{connections}} will be empty, right? 
Should we perhaps {{close()}} the socket when we remove it from {{group}}? They 
were only closed on server shutdown before so maybe we don't need to do that?


> Remove finished streaming connections from MessagingService
> -----------------------------------------------------------
>
>                 Key: CASSANDRA-11854
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11854
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Paulo Motta
>            Assignee: Paulo Motta
>         Attachments: oom.png
>
>
> When a new {{IncomingStreamingConnection}} is created, [we register it in the 
> connections 
> map|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/net/MessagingService.java#L1109]
>  of {{MessagingService}}, but we [only remove it if there is an 
> exception|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/net/IncomingStreamingConnection.java#L83]
>  while attaching the socket to the stream session.
> On nodes with SSL and large number of vnodes, after many repair sessions 
> these old connections can accumulate and cause OOM (heap dump attached).
> The connection should be removed from the connections map after if it's 
> finished in order to be garbage collected.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to