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

Suresh Srinivas commented on HADOOP-9955:
-----------------------------------------

[~daryn], this is an important change. Thanks for doing it.

Moving all connection management into a separate class with connectionSet, 
numConnections all as private numbers and all the related methods will cleanup 
the code. This will also ensure numConnections remains consistent with 
connectionSet number of entries without expecting external code to do things 
correctly. This will also help cleanup poorly organized code to a small extent.
                
> RPC idle connection closing is extremely inefficient
> ----------------------------------------------------
>
>                 Key: HADOOP-9955
>                 URL: https://issues.apache.org/jira/browse/HADOOP-9955
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: ipc
>    Affects Versions: 2.0.0-alpha, 3.0.0
>            Reporter: Daryn Sharp
>            Assignee: Daryn Sharp
>         Attachments: HADOOP-9955.patch
>
>
> The RPC server listener loops accepting connections, distributing the new 
> connections to socket readers, and then conditionally & periodically performs 
> a scan for idle connections.  The idle scan choses a _random index range_ to 
> scan in a _synchronized linked list_.
> With 20k+ connections, walking the range of indices in the linked list is 
> extremely expensive.  During the sweep, other threads (socket responder and 
> readers) that want to close connections are blocked, and no new connections 
> are being accepted.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to