[
https://issues.apache.org/jira/browse/MAPREDUCE-1481?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12832753#action_12832753
]
Todd Lipcon commented on MAPREDUCE-1481:
----------------------------------------
Actually, I think this is a bug but not quite how I described it. If the flush
fails, it means we were trying to write data into a streaming executable that
didn't consume all of its input.
I don't know what the expected behavior is here. Right now, the behavior is
that we stop consuming its output, but the task still succeeds so long as the
exit code is 0. I think this is incorrect. We should either entirely fail the
task regardless of exit code, or we should consume the rest of its output.
> Streaming should swallow IOExceptions when closing clientOut
> ------------------------------------------------------------
>
> Key: MAPREDUCE-1481
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1481
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: contrib/streaming
> Affects Versions: 0.20.1, 0.21.0, 0.22.0
> Reporter: Todd Lipcon
> Assignee: Todd Lipcon
>
> in PipeMapRed.mapRedFinished, streaming flushes and closes clientOut_, the
> handle to the subprocess's stdin. If the subprocess has already exited or
> closed its stdin, this will generate a Broken Pipe IOException. This causes
> us to skip waitOutputThreads, which is incorrect, since the subprocess may
> have data still written from stdout that needs to be read.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.