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)