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