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 "Rick Cox (JIRA)" <ji...@apache.org> on 2008/03/25 15:49:25 UTC

[jira] Created: (HADOOP-3089) streaming should accept stderr from task before first key arrives

streaming should accept stderr from task before first key arrives
-----------------------------------------------------------------

                 Key: HADOOP-3089
                 URL: https://issues.apache.org/jira/browse/HADOOP-3089
             Project: Hadoop Core
          Issue Type: Bug
          Components: contrib/streaming
    Affects Versions: 0.16.1, 0.16.0, 0.15.3, 0.15.2, 0.15.1, 0.15.0, 0.14.4, 0.14.3, 0.14.2, 0.14.1, 0.14.0
            Reporter: Rick Cox
            Assignee: Rick Cox
             Fix For: 0.17.0


Stderr output from a streaming task is not collected until the {{MRErrorThread}} is started by {{PipeMapRed.startOutputThreads()}}, which is done on the first call to {{map()}} or {{reduce()}}.

This makes it difficult to debug failures in starting up the task process. It can also lead to deadlock when a task receives no input keys but produces significant stderr output: the process will block on writing to stderr, while streaming will block waiting for the process to exit.

We should start the {{MRErrorThread}} when the process is forked, and then add the {{reporter}} later to enable stderr output serve as a keep-alive.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-3089) streaming should accept stderr from task before first key arrives

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

Rick Cox updated HADOOP-3089:
-----------------------------

    Status: Patch Available  (was: Open)

> streaming should accept stderr from task before first key arrives
> -----------------------------------------------------------------
>
>                 Key: HADOOP-3089
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3089
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/streaming
>    Affects Versions: 0.16.1, 0.16.0, 0.15.3, 0.15.2, 0.15.1, 0.15.0, 0.14.4, 0.14.3, 0.14.2, 0.14.1, 0.14.0
>            Reporter: Rick Cox
>            Assignee: Rick Cox
>             Fix For: 0.17.0
>
>         Attachments: patch-stderr-3089.txt
>
>
> Stderr output from a streaming task is not collected until the {{MRErrorThread}} is started by {{PipeMapRed.startOutputThreads()}}, which is done on the first call to {{map()}} or {{reduce()}}.
> This makes it difficult to debug failures in starting up the task process. It can also lead to deadlock when a task receives no input keys but produces significant stderr output: the process will block on writing to stderr, while streaming will block waiting for the process to exit.
> We should start the {{MRErrorThread}} when the process is forked, and then add the {{reporter}} later to enable stderr output serve as a keep-alive.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-3089) streaming should accept stderr from task before first key arrives

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

Rick Cox updated HADOOP-3089:
-----------------------------

    Status: Patch Available  (was: Open)

> streaming should accept stderr from task before first key arrives
> -----------------------------------------------------------------
>
>                 Key: HADOOP-3089
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3089
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/streaming
>    Affects Versions: 0.16.1, 0.16.0, 0.15.3, 0.15.2, 0.15.1, 0.15.0, 0.14.4, 0.14.3, 0.14.2, 0.14.1, 0.14.0
>            Reporter: Rick Cox
>            Assignee: Rick Cox
>             Fix For: 0.17.0
>
>         Attachments: patch-stderr-3089-2.txt, patch-stderr-3089.txt
>
>
> Stderr output from a streaming task is not collected until the {{MRErrorThread}} is started by {{PipeMapRed.startOutputThreads()}}, which is done on the first call to {{map()}} or {{reduce()}}.
> This makes it difficult to debug failures in starting up the task process. It can also lead to deadlock when a task receives no input keys but produces significant stderr output: the process will block on writing to stderr, while streaming will block waiting for the process to exit.
> We should start the {{MRErrorThread}} when the process is forked, and then add the {{reporter}} later to enable stderr output serve as a keep-alive.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-3089) streaming should accept stderr from task before first key arrives

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

Rick Cox updated HADOOP-3089:
-----------------------------

    Attachment: patch-stderr-3089-2.txt

Same patch, minus 2 commented out lines that shouldn't have been included (and with correct license checkbox).

> streaming should accept stderr from task before first key arrives
> -----------------------------------------------------------------
>
>                 Key: HADOOP-3089
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3089
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/streaming
>    Affects Versions: 0.14.0, 0.14.1, 0.14.2, 0.14.3, 0.14.4, 0.15.0, 0.15.1, 0.15.2, 0.15.3, 0.16.0, 0.16.1
>            Reporter: Rick Cox
>            Assignee: Rick Cox
>             Fix For: 0.17.0
>
>         Attachments: patch-stderr-3089-2.txt, patch-stderr-3089.txt
>
>
> Stderr output from a streaming task is not collected until the {{MRErrorThread}} is started by {{PipeMapRed.startOutputThreads()}}, which is done on the first call to {{map()}} or {{reduce()}}.
> This makes it difficult to debug failures in starting up the task process. It can also lead to deadlock when a task receives no input keys but produces significant stderr output: the process will block on writing to stderr, while streaming will block waiting for the process to exit.
> We should start the {{MRErrorThread}} when the process is forked, and then add the {{reporter}} later to enable stderr output serve as a keep-alive.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-3089) streaming should accept stderr from task before first key arrives

Posted by "Hudson (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-3089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585967#action_12585967 ] 

Hudson commented on HADOOP-3089:
--------------------------------

Integrated in Hadoop-trunk #451 (See [http://hudson.zones.apache.org/hudson/job/Hadoop-trunk/451/])

> streaming should accept stderr from task before first key arrives
> -----------------------------------------------------------------
>
>                 Key: HADOOP-3089
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3089
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/streaming
>    Affects Versions: 0.14.0, 0.14.1, 0.14.2, 0.14.3, 0.14.4, 0.15.0, 0.15.1, 0.15.2, 0.15.3, 0.16.0, 0.16.1
>            Reporter: Rick Cox
>            Assignee: Rick Cox
>             Fix For: 0.17.0
>
>         Attachments: patch-stderr-3089-2.txt, patch-stderr-3089.txt
>
>
> Stderr output from a streaming task is not collected until the {{MRErrorThread}} is started by {{PipeMapRed.startOutputThreads()}}, which is done on the first call to {{map()}} or {{reduce()}}.
> This makes it difficult to debug failures in starting up the task process. It can also lead to deadlock when a task receives no input keys but produces significant stderr output: the process will block on writing to stderr, while streaming will block waiting for the process to exit.
> We should start the {{MRErrorThread}} when the process is forked, and then add the {{reporter}} later to enable stderr output serve as a keep-alive.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-3089) streaming should accept stderr from task before first key arrives

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

Rick Cox updated HADOOP-3089:
-----------------------------

    Status: Open  (was: Patch Available)

> streaming should accept stderr from task before first key arrives
> -----------------------------------------------------------------
>
>                 Key: HADOOP-3089
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3089
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/streaming
>    Affects Versions: 0.16.1, 0.16.0, 0.15.3, 0.15.2, 0.15.1, 0.15.0, 0.14.4, 0.14.3, 0.14.2, 0.14.1, 0.14.0
>            Reporter: Rick Cox
>            Assignee: Rick Cox
>             Fix For: 0.17.0
>
>         Attachments: patch-stderr-3089.txt
>
>
> Stderr output from a streaming task is not collected until the {{MRErrorThread}} is started by {{PipeMapRed.startOutputThreads()}}, which is done on the first call to {{map()}} or {{reduce()}}.
> This makes it difficult to debug failures in starting up the task process. It can also lead to deadlock when a task receives no input keys but produces significant stderr output: the process will block on writing to stderr, while streaming will block waiting for the process to exit.
> We should start the {{MRErrorThread}} when the process is forked, and then add the {{reporter}} later to enable stderr output serve as a keep-alive.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-3089) streaming should accept stderr from task before first key arrives

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

Hadoop QA commented on HADOOP-3089:
-----------------------------------

+1 overall.  Here are the results of testing the latest attachment 
http://issues.apache.org/jira/secure/attachment/12378601/patch-stderr-3089-2.txt
against trunk revision 619744.

    @author +1.  The patch does not contain any @author tags.

    tests included +1.  The patch appears to include 6 new or modified tests.

    javadoc +1.  The javadoc tool did not generate any warning messages.

    javac +1.  The applied patch does not generate any new javac compiler warnings.

    release audit +1.  The applied patch does not generate any new release audit warnings.

    findbugs +1.  The patch does not introduce any new Findbugs warnings.

    core tests +1.  The patch passed core unit tests.

    contrib tests +1.  The patch passed contrib unit tests.

Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2057/testReport/
Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2057/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2057/artifact/trunk/build/test/checkstyle-errors.html
Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2057/console

This message is automatically generated.

> streaming should accept stderr from task before first key arrives
> -----------------------------------------------------------------
>
>                 Key: HADOOP-3089
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3089
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/streaming
>    Affects Versions: 0.14.0, 0.14.1, 0.14.2, 0.14.3, 0.14.4, 0.15.0, 0.15.1, 0.15.2, 0.15.3, 0.16.0, 0.16.1
>            Reporter: Rick Cox
>            Assignee: Rick Cox
>             Fix For: 0.17.0
>
>         Attachments: patch-stderr-3089-2.txt, patch-stderr-3089.txt
>
>
> Stderr output from a streaming task is not collected until the {{MRErrorThread}} is started by {{PipeMapRed.startOutputThreads()}}, which is done on the first call to {{map()}} or {{reduce()}}.
> This makes it difficult to debug failures in starting up the task process. It can also lead to deadlock when a task receives no input keys but produces significant stderr output: the process will block on writing to stderr, while streaming will block waiting for the process to exit.
> We should start the {{MRErrorThread}} when the process is forked, and then add the {{reporter}} later to enable stderr output serve as a keep-alive.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-3089) streaming should accept stderr from task before first key arrives

Posted by "Rick Cox (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-3089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585189#action_12585189 ] 

Rick Cox commented on HADOOP-3089:
----------------------------------

Is anyone available to review this? I'd like for this to make the 0.17 freeze.

thanks

> streaming should accept stderr from task before first key arrives
> -----------------------------------------------------------------
>
>                 Key: HADOOP-3089
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3089
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/streaming
>    Affects Versions: 0.14.0, 0.14.1, 0.14.2, 0.14.3, 0.14.4, 0.15.0, 0.15.1, 0.15.2, 0.15.3, 0.16.0, 0.16.1
>            Reporter: Rick Cox
>            Assignee: Rick Cox
>             Fix For: 0.17.0
>
>         Attachments: patch-stderr-3089-2.txt, patch-stderr-3089.txt
>
>
> Stderr output from a streaming task is not collected until the {{MRErrorThread}} is started by {{PipeMapRed.startOutputThreads()}}, which is done on the first call to {{map()}} or {{reduce()}}.
> This makes it difficult to debug failures in starting up the task process. It can also lead to deadlock when a task receives no input keys but produces significant stderr output: the process will block on writing to stderr, while streaming will block waiting for the process to exit.
> We should start the {{MRErrorThread}} when the process is forked, and then add the {{reporter}} later to enable stderr output serve as a keep-alive.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-3089) streaming should accept stderr from task before first key arrives

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

Rick Cox updated HADOOP-3089:
-----------------------------

    Attachment: patch-stderr-3089.txt

Patch starts {{MRErrorThread}} immediately, adds a reporter later.

{{testStderrNoInput()}} fails without this patch, and passes with it on Linux (RHEL3) and Mac OS X. It does make some assumptions about how large a stderr buffer might be, but that's unfortunately an innate component of this issue.

{{testStderrCountsAsProgress()}} passes, but isn't meaninful because {{LocalJobRunner}} does not seem to support {{mapred.task.timeout}}.

> streaming should accept stderr from task before first key arrives
> -----------------------------------------------------------------
>
>                 Key: HADOOP-3089
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3089
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/streaming
>    Affects Versions: 0.14.0, 0.14.1, 0.14.2, 0.14.3, 0.14.4, 0.15.0, 0.15.1, 0.15.2, 0.15.3, 0.16.0, 0.16.1
>            Reporter: Rick Cox
>            Assignee: Rick Cox
>             Fix For: 0.17.0
>
>         Attachments: patch-stderr-3089.txt
>
>
> Stderr output from a streaming task is not collected until the {{MRErrorThread}} is started by {{PipeMapRed.startOutputThreads()}}, which is done on the first call to {{map()}} or {{reduce()}}.
> This makes it difficult to debug failures in starting up the task process. It can also lead to deadlock when a task receives no input keys but produces significant stderr output: the process will block on writing to stderr, while streaming will block waiting for the process to exit.
> We should start the {{MRErrorThread}} when the process is forked, and then add the {{reporter}} later to enable stderr output serve as a keep-alive.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-3089) streaming should accept stderr from task before first key arrives

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

Tom White updated HADOOP-3089:
------------------------------

      Resolution: Fixed
    Hadoop Flags: [Reviewed]
          Status: Resolved  (was: Patch Available)

I've just committed this. Thanks Rick!

> streaming should accept stderr from task before first key arrives
> -----------------------------------------------------------------
>
>                 Key: HADOOP-3089
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3089
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/streaming
>    Affects Versions: 0.14.0, 0.14.1, 0.14.2, 0.14.3, 0.14.4, 0.15.0, 0.15.1, 0.15.2, 0.15.3, 0.16.0, 0.16.1
>            Reporter: Rick Cox
>            Assignee: Rick Cox
>             Fix For: 0.17.0
>
>         Attachments: patch-stderr-3089-2.txt, patch-stderr-3089.txt
>
>
> Stderr output from a streaming task is not collected until the {{MRErrorThread}} is started by {{PipeMapRed.startOutputThreads()}}, which is done on the first call to {{map()}} or {{reduce()}}.
> This makes it difficult to debug failures in starting up the task process. It can also lead to deadlock when a task receives no input keys but produces significant stderr output: the process will block on writing to stderr, while streaming will block waiting for the process to exit.
> We should start the {{MRErrorThread}} when the process is forked, and then add the {{reporter}} later to enable stderr output serve as a keep-alive.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-3089) streaming should accept stderr from task before first key arrives

Posted by "Amareshwari Sriramadasu (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HADOOP-3089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585414#action_12585414 ] 

Amareshwari Sriramadasu commented on HADOOP-3089:
-------------------------------------------------

+1
Code looks good.

> streaming should accept stderr from task before first key arrives
> -----------------------------------------------------------------
>
>                 Key: HADOOP-3089
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3089
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/streaming
>    Affects Versions: 0.14.0, 0.14.1, 0.14.2, 0.14.3, 0.14.4, 0.15.0, 0.15.1, 0.15.2, 0.15.3, 0.16.0, 0.16.1
>            Reporter: Rick Cox
>            Assignee: Rick Cox
>             Fix For: 0.17.0
>
>         Attachments: patch-stderr-3089-2.txt, patch-stderr-3089.txt
>
>
> Stderr output from a streaming task is not collected until the {{MRErrorThread}} is started by {{PipeMapRed.startOutputThreads()}}, which is done on the first call to {{map()}} or {{reduce()}}.
> This makes it difficult to debug failures in starting up the task process. It can also lead to deadlock when a task receives no input keys but produces significant stderr output: the process will block on writing to stderr, while streaming will block waiting for the process to exit.
> We should start the {{MRErrorThread}} when the process is forked, and then add the {{reporter}} later to enable stderr output serve as a keep-alive.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-3089) streaming should accept stderr from task before first key arrives

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

Rick Cox updated HADOOP-3089:
-----------------------------

    Attachment: patch-stderr-3089-2.txt

Same patch, minus two commented out lines that shouldn't have been included.

> streaming should accept stderr from task before first key arrives
> -----------------------------------------------------------------
>
>                 Key: HADOOP-3089
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3089
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/streaming
>    Affects Versions: 0.14.0, 0.14.1, 0.14.2, 0.14.3, 0.14.4, 0.15.0, 0.15.1, 0.15.2, 0.15.3, 0.16.0, 0.16.1
>            Reporter: Rick Cox
>            Assignee: Rick Cox
>             Fix For: 0.17.0
>
>         Attachments: patch-stderr-3089-2.txt, patch-stderr-3089.txt
>
>
> Stderr output from a streaming task is not collected until the {{MRErrorThread}} is started by {{PipeMapRed.startOutputThreads()}}, which is done on the first call to {{map()}} or {{reduce()}}.
> This makes it difficult to debug failures in starting up the task process. It can also lead to deadlock when a task receives no input keys but produces significant stderr output: the process will block on writing to stderr, while streaming will block waiting for the process to exit.
> We should start the {{MRErrorThread}} when the process is forked, and then add the {{reporter}} later to enable stderr output serve as a keep-alive.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HADOOP-3089) streaming should accept stderr from task before first key arrives

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

Hadoop QA commented on HADOOP-3089:
-----------------------------------

+1 overall.  Here are the results of testing the latest attachment 
http://issues.apache.org/jira/secure/attachment/12378598/patch-stderr-3089.txt
against trunk revision 619744.

    @author +1.  The patch does not contain any @author tags.

    tests included +1.  The patch appears to include 6 new or modified tests.

    javadoc +1.  The javadoc tool did not generate any warning messages.

    javac +1.  The applied patch does not generate any new javac compiler warnings.

    release audit +1.  The applied patch does not generate any new release audit warnings.

    findbugs +1.  The patch does not introduce any new Findbugs warnings.

    core tests +1.  The patch passed core unit tests.

    contrib tests +1.  The patch passed contrib unit tests.

Test results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2056/testReport/
Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2056/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Checkstyle results: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2056/artifact/trunk/build/test/checkstyle-errors.html
Console output: http://hudson.zones.apache.org/hudson/job/Hadoop-Patch/2056/console

This message is automatically generated.

> streaming should accept stderr from task before first key arrives
> -----------------------------------------------------------------
>
>                 Key: HADOOP-3089
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3089
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/streaming
>    Affects Versions: 0.14.0, 0.14.1, 0.14.2, 0.14.3, 0.14.4, 0.15.0, 0.15.1, 0.15.2, 0.15.3, 0.16.0, 0.16.1
>            Reporter: Rick Cox
>            Assignee: Rick Cox
>             Fix For: 0.17.0
>
>         Attachments: patch-stderr-3089.txt
>
>
> Stderr output from a streaming task is not collected until the {{MRErrorThread}} is started by {{PipeMapRed.startOutputThreads()}}, which is done on the first call to {{map()}} or {{reduce()}}.
> This makes it difficult to debug failures in starting up the task process. It can also lead to deadlock when a task receives no input keys but produces significant stderr output: the process will block on writing to stderr, while streaming will block waiting for the process to exit.
> We should start the {{MRErrorThread}} when the process is forked, and then add the {{reporter}} later to enable stderr output serve as a keep-alive.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HADOOP-3089) streaming should accept stderr from task before first key arrives

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

Rick Cox updated HADOOP-3089:
-----------------------------

    Attachment:     (was: patch-stderr-3089-2.txt)

> streaming should accept stderr from task before first key arrives
> -----------------------------------------------------------------
>
>                 Key: HADOOP-3089
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3089
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: contrib/streaming
>    Affects Versions: 0.14.0, 0.14.1, 0.14.2, 0.14.3, 0.14.4, 0.15.0, 0.15.1, 0.15.2, 0.15.3, 0.16.0, 0.16.1
>            Reporter: Rick Cox
>            Assignee: Rick Cox
>             Fix For: 0.17.0
>
>         Attachments: patch-stderr-3089-2.txt, patch-stderr-3089.txt
>
>
> Stderr output from a streaming task is not collected until the {{MRErrorThread}} is started by {{PipeMapRed.startOutputThreads()}}, which is done on the first call to {{map()}} or {{reduce()}}.
> This makes it difficult to debug failures in starting up the task process. It can also lead to deadlock when a task receives no input keys but produces significant stderr output: the process will block on writing to stderr, while streaming will block waiting for the process to exit.
> We should start the {{MRErrorThread}} when the process is forked, and then add the {{reporter}} later to enable stderr output serve as a keep-alive.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.