hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Todd Lipcon (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-6768) RPC client can response more efficiently when sendParam() got IOException
Date Fri, 04 Jun 2010 02:05:55 GMT

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

Todd Lipcon commented on HADOOP-6768:

Hi Xiao,

For your test case, I think it would be much simpler to just use a Writable which throws IOE,
rather than mocking out all of Socket, etc. If you look at TestIPC in trunk, there was a case
added by HADOOP-6723 that fixed a similar bug for exceptions in readFields, but we didn't
test writeFields. It should be easy to extend that test case and share the code there.

Also please take a look at HADOOP-6762. which solves the specific problem of InterruptedException
but not the more general problem of IOE or RTE. Would appreciate your thoughts on that issue.

> RPC client can response more efficiently when sendParam() got IOException
> -------------------------------------------------------------------------
>                 Key: HADOOP-6768
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6768
>             Project: Hadoop Common
>          Issue Type: Improvement
>          Components: ipc
>    Affects Versions: 0.22.0
>            Reporter: Xiao Kang
>             Fix For: 0.22.0
>         Attachments: HADOOP-6768.patch
> Under current RPC client implementation, when Client.Connection.sendParam() encounters
IOException it just marks the exception and wait receiveResponse() thread to handle the exception.
However, receiveResponse() may block ipc.ping.interval on socket read(). 
> This means that RPC client may wait ipc.ping.interval(typically 1 miniute) when exception
in sendParam().
> It maybe not so reasonable in some situation. For example using "hadoop fs -put " a small
file, DFSClient.close() will interupt renewLease() thread and it may wait 1 minute.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message