hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Raghu Angadi (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-2188) RPC should send a ping rather than use client timeouts
Date Wed, 19 Mar 2008 17:44:24 GMT

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

Raghu Angadi commented on HADOOP-2188:

> The purpose of this jira is not to throw away any calls. 

True. But what should server do if some clients just don't read from the sockets? I think
purging exists only to handle exceptional cases like (unintentionally) rogue clients. One
actual case that happened is that one user accindentally started thousands of clients from
one machine and these clients could not read. 

> Otherwise the applications will wait for the result for ever. 
In that case, we could close the connection while purging, we already do that in some cases
while purging.

In any case purging is usually not required and almost no calls are purged while writing in
practice.. we won't notice its absence until something bad happens.

+0 for removing it, from me. I don't think that should hold up the patch if you are ok with

> 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, ipc-timeout3.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.

View raw message