[ https://issues.apache.org/jira/browse/HADOOP-2188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12545662 ]
Raghu Angadi commented on HADOOP-2188: -------------------------------------- > the rpcs are killed at the top of Client.Connection.close. hmm.. client side does not help the server side. One big issue at the server when it is loaded is that we will have a lot of RPCs waiting and server patiently executes all of them only to realize that client side has closed the connection for many of them, this in turn slows down the other clients, they will close the connections. I think we need Sever to avoid processing RPCs from connections which are closed already... each handler could check if the connection has a error. > RPC should send a ping rather than use client timeouts > ------------------------------------------------------ > > Key: HADOOP-2188 > URL: https://issues.apache.org/jira/browse/HADOOP-2188 > Project: Hadoop > Issue Type: Improvement > Components: ipc > Reporter: Owen O'Malley > Assignee: Owen O'Malley > Fix For: 0.16.0 > > Attachments: rpc-to.patch > > > Current RPC (really IPC) relies on client side timeouts to find "dead" > sockets. I propose that we have a thread that once a minute (if the > connection has been idle) writes a "ping" message to the socket. The client > can detect a dead socket by the resulting error on the write, so no client > side timeout is required. Also note that the ipc server does not need to > respond to the ping, just discard it. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.