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