[ 
https://issues.apache.org/jira/browse/HADOOP-2924?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vinod Kumar Vavilapalli updated HADOOP-2924:
--------------------------------------------

    Attachment: HADOOP-2924

This is happening because of the way HOD currently looks for a free port - it 
tries to connect and if it gets an exception, it takes it as a free port. And 
this fails while trying with source ports and/or ports in CLOSE_WAIT state as 
said above.

This patch changes the implementation, by testing for a free port by 'binding' 
to the port and ensuring that we don't get a bind exception. Tested this 
behaviour. Also carried tests to make sure that ports bound like this and found 
to be free are still free and usable by the time the hadoop daemons actually 
bind to them.

Marked some unused methods, as UNUSED.

> HOD is trying to bring up task tracker on  port which is already in 
> close_wait state
> ------------------------------------------------------------------------------------
>
>                 Key: HADOOP-2924
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2924
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/hod
>    Affects Versions: 0.16.0
>            Reporter: Aroop Maliakkal
>            Assignee: Vinod Kumar Vavilapalli
>            Priority: Critical
>             Fix For: 0.17.0
>
>         Attachments: HADOOP-2924
>
>
> While bringing up task tracker using random ports, HOD is not checking 
> whether the port is in CLOSE_WAIT state. So when it starts task tracker, we 
> will be getting an address bind error on that port. We can avoid this error 
> if we check for CLOSE_WAIT state on that port before starting the tasktracker.

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