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

Doug Cutting commented on HADOOP-2188:
--------------------------------------

minor nits:
- ipc.ping.interval should be set with a static accessor method that uses a 
constant to name the config property, not accessed directly with a literal 
string.  Eventually we should replace all literal string configuration accesses 
with accessor methods, but in the meantime we should use accessor methods for 
new parameters and when changing existing parameters.
- go ahead and remove maxQueueSize if it is unused.  if its needed later it can 
be re-added.
- should we log pings at debug level?
- we should use a constant instead of a literal -1 to identify a ping
- out.write(-1) -- shouldn't that be writeInt()?

> RPC should send a ping rather than use client timeouts
> ------------------------------------------------------
>
>                 Key: HADOOP-2188
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2188
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: dfs, ipc
>            Reporter: Owen O'Malley
>            Assignee: Hairong Kuang
>         Attachments: ipc-timeout.patch, ipc-timeout1.patch, 
> ipc-timeout2.patch, 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.

Reply via email to