You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Devaraj Das (JIRA)" <ji...@apache.org> on 2007/04/02 18:24:32 UTC

[jira] Created: (HADOOP-1191) MapTask should wait for the status reporting thread to die before invoking the TaskUmbilicalProtocol.done(taskid)

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: Devaraj Das
             Fix For: 0.12.3


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.


[jira] Updated: (HADOOP-1191) MapTask should wait for the status reporting thread to die before invoking the TaskUmbilicalProtocol.done(taskid)

Posted by "Devaraj Das (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-1191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Devaraj Das updated HADOOP-1191:
--------------------------------

    Status: Patch Available  (was: Open)

> 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: Devaraj Das
>             Fix For: 0.12.3
>
>         Attachments: 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.


[jira] Commented: (HADOOP-1191) MapTask should wait for the status reporting thread to die before invoking the TaskUmbilicalProtocol.done(taskid)

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-1191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12486153 ] 

Hadoop QA commented on HADOOP-1191:
-----------------------------------

-1, because the patch command could not apply the latest attachment http://issues.apache.org/jira/secure/attachment/12354785/1191-2.patch as a patch to trunk revision http://svn.apache.org/repos/asf/lucene/hadoop/trunk/524929. Please note that this message is automatically generated and may represent a problem with the automation system and not the patch. Results are at http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch

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


[jira] Updated: (HADOOP-1191) MapTask should wait for the status reporting thread to die before invoking the TaskUmbilicalProtocol.done(taskid)

Posted by "Devaraj Das (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-1191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Devaraj Das updated HADOOP-1191:
--------------------------------

    Attachment: 1191.patch

This patch addresses the issue.

> 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: Devaraj Das
>             Fix For: 0.12.3
>
>         Attachments: 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.


[jira] Updated: (HADOOP-1191) MapTask should wait for the status reporting thread to die before invoking the TaskUmbilicalProtocol.done(taskid)

Posted by "Doug Cutting (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-1191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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

    Status: Patch Available  (was: Reopened)

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


[jira] Reopened: (HADOOP-1191) MapTask should wait for the status reporting thread to die before invoking the TaskUmbilicalProtocol.done(taskid)

Posted by "Doug Cutting (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-1191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Doug Cutting reopened HADOOP-1191:
----------------------------------

      Assignee: Doug Cutting  (was: Devaraj Das)

Argh.  I committed this too soon.  It causes unit tests to hang.  I talked to Owen & he saw the underlying problem: Client.java traps InterruptedException, so Thread.join() won't return if the thread is in an RPC when interrupted.  I have a patch I will submit soon.

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


[jira] Commented: (HADOOP-1191) MapTask should wait for the status reporting thread to die before invoking the TaskUmbilicalProtocol.done(taskid)

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-1191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12486303 ] 

Hadoop QA commented on HADOOP-1191:
-----------------------------------

Integrated in Hadoop-Nightly #46 (See http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/46/)

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


[jira] Updated: (HADOOP-1191) MapTask should wait for the status reporting thread to die before invoking the TaskUmbilicalProtocol.done(taskid)

Posted by "Doug Cutting (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-1191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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

    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

I committed this.

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


[jira] Updated: (HADOOP-1191) MapTask should wait for the status reporting thread to die before invoking the TaskUmbilicalProtocol.done(taskid)

Posted by "Doug Cutting (JIRA)" <ji...@apache.org>.
     [ 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.


[jira] Commented: (HADOOP-1191) MapTask should wait for the status reporting thread to die before invoking the TaskUmbilicalProtocol.done(taskid)

Posted by "Owen O'Malley (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-1191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12486136 ] 

Owen O'Malley commented on HADOOP-1191:
---------------------------------------

+1 to the improved fix.

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


[jira] Updated: (HADOOP-1191) MapTask should wait for the status reporting thread to die before invoking the TaskUmbilicalProtocol.done(taskid)

Posted by "Doug Cutting (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HADOOP-1191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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

    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

I just committed  this.  Thanks, Devaraj!

> 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: Devaraj Das
>             Fix For: 0.12.3
>
>         Attachments: 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.