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