[ 
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.

Reply via email to