[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12850869#action_12850869
 ] 

Vinod K V commented on MAPREDUCE-1640:
--------------------------------------

The problem happens only when the health check script itself launches 
sub-processes.

When the health check script launches sub-processes itself like the 'sleep' in 
the test, even though the original bash shell which launches the health script 
gets terminated after timeout period, the sub-processes themselves are not. Due 
of this, the i/o streams being read by TT for getting the output of the 
health-check script are not closed. The process object in TT address space is 
blocked on reading output (from the sub-processes now) and so TT never marks 
the node as unhealthy.

This error scenario also prevents all sub-sequent runs of the health script by 
just queuing them.

> Node health feature fails to blacklist a node if the health check script 
> times out in some cases
> ------------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-1640
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1640
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: tasktracker
>            Reporter: Vinod K V
>             Fix For: 0.22.0
>
>
> Node health check feature fails to blacklist a TT if health check script 
> times out. Below are the values that were set:
>  - mapred.healthChecker.interval=60000
>  - mapred.healthChecker.script.timeout=6000
> And the script was:
> {code}
> #!/bin/bash
> echo "start"
> sleep 100000
> echo "end"
> {code}

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