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

Doug Cutting updated HADOOP-1191:
---------------------------------

    Attachment: 1191-2.patch

This changes Client.call()'s signature to throw InterruptedException, changing 
a public API in a patch for a point release.  But I don't think anyone actually 
uses this public API, instead using the RPC api layered on top of it, so I 
doubt this will break anyone.  Now, if a protocol method declares that it 
throws InterruptedException, then an RPC can be interrupted, as expected.

TaskUmbilicalProtocol.progress() is also changed to throw 
InterrruptedException.  This change only affects client-side code, and so is 
back-compatible.

> MapTask should wait for the status reporting thread to die before invoking 
> the TaskUmbilicalProtocol.done(taskid)
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-1191
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1191
>             Project: Hadoop
>          Issue Type: Bug
>          Components: mapred
>    Affects Versions: 0.12.2
>            Reporter: Devaraj Das
>         Assigned To: Doug Cutting
>             Fix For: 0.12.3
>
>         Attachments: 1191-2.patch, 1191.patch
>
>
> Currently, the status reporting thread is sent an interrupt and immediately 
> after that TaskUmbilicalProtocol.done() is invoked. A better thing to do is 
> to wait for the thread to die before invoking done() otherwise it is possible 
> that a status message just makes it through and then the Task is put in 
> RUNNING state at the TaskTracker. This results in inconsistency about the 
> runstate of a task at the TaskTracker's end.

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