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

Hairong Kuang commented on HADOOP-4659:
---------------------------------------

On the second thought, throwing IOException from setupIOstreams is not a 
complete solution. While one RPC is in the middle of setupIOstreams, there 
might be a different call that uses the same connection and is about to 
setupIOstreams. If the first setup gets a ConnectException, the second call 
will end up seeing a closed connection and ConnectException gets delivered to 
call in call.error. This means that ConnectException will be wrapped.

I am thinking to solve the problem using my initial solution: check root cause 
in waitForProxy.

As for testing, I like Steve's idea. How about adding an API wait for proxy 
with a timeout to RPC. The current API waitForProxy could use a timeout with 
the max long value.

> Root cause of connection failure is being lost to code that uses it for 
> delaying startup
> ----------------------------------------------------------------------------------------
>
>                 Key: HADOOP-4659
>                 URL: https://issues.apache.org/jira/browse/HADOOP-4659
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: ipc
>    Affects Versions: 0.18.3
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>            Priority: Blocker
>             Fix For: 0.18.3
>
>         Attachments: connectRetry.patch, hadoop-4659.patch
>
>
> ipc.Client the root cause of a connection failure is being lost as the 
> exception is wrapped, hence the outside code, the one that looks for that 
> root cause, isn't working as expected. The results is you can't bring up a 
> task tracker before job tracker, and probably the same for a datanode before 
> a  namenode. The change that triggered this is not yet located, I had thought 
> it was HADOOP-3844 but I no longer believe this is the case.

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