You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Yuki Morishita (JIRA)" <ji...@apache.org> on 2016/06/07 15:19:21 UTC

[jira] [Comment Edited] (CASSANDRA-11854) Remove finished streaming connections from MessagingService

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

Yuki Morishita edited comment on CASSANDRA-11854 at 6/7/16 3:19 PM:
--------------------------------------------------------------------

Thanks for the patch.

* You are actually registerring 2 callbacks (for incoming and outgoing) to the same {{StreamResultFuture}} instance. It is harmless, but isn't it better to pass callback to {{initReceivingSide}}?
* I prefer putting {{IncomingStreamingConnection.this}} instead of {{this}} in callback for clarity.


was (Author: yukim):
Thanks for the patch.

* You actually registerring 2 callbacks (for incoming and outgoing) to the same {{StreamResultFuture}} instance. It is harmless, but isn't it better to pass callback to {{initReceivingSide}}?
* I prefer putting {{IncomingStreamingConnection.this}} instead of {{this}} in callback for clarity.

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