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

Bikas Saha commented on MAPREDUCE-4564:
---------------------------------------

Solution is to make sure that termination of wintutils also terminates the job 
object. This patch adds code to do that by making the job object handle not 
inheritable and setting the job object to be terminated when the last handle is 
closed. When winutils exist (cleanly or crashed or killed) its handle to the 
job object will be closed. Since that is the only handle, closing it will 
terminate the job object.
Currently, winutils calls TerminateJobObject() before it exits. This ensures 
that the job object is destroyed when winutils exits. So the patch is 
consistent with the current approach. It enhances that by making sure the job 
object is terminated even when winutils is killed externally.
                
> Shell timeout mechanism does not work for processes spawned using winutils
> --------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-4564
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4564
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>            Reporter: Bikas Saha
>            Assignee: Bikas Saha
>         Attachments: MAPREDUCE-4564.branch-1-win.1.patch
>
>
> Upon timeout, Shell calls Java process.destroy() to terminate the spawned 
> process. This would destroy the winutils process but not the real process 
> spawned by winutils.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to