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

Kai Zheng commented on HADOOP-9955:
-----------------------------------

The patch looks great. Could I have some minors or questions:

1. Regarding the following codes, "disconnecting client" could be "disconnected 
client".
{code}
+          if (c.timedOut(currentTime) && closeConnection(c)) {
             if (LOG.isDebugEnabled())
               LOG.debug(getName() + ": disconnecting client " + 
c.getHostAddress());
-            closeConnection(c);
}
{code}
2. *numConnections* might not be necessary now in current approach. Instead, 
connectionSet.size() could be employed when necessary.
3. *connections* might be a better name for *connectionSet* since we might not 
need to change it again when we need to change its type in future as this does.
                
> 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