[
https://issues.apache.org/jira/browse/MAPREDUCE-2374?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13421943#comment-13421943
]
Andy Isaacson commented on MAPREDUCE-2374:
------------------------------------------
bq. Andy - could you please clarify about your comment on ProcessBuilder bug?
You should be able to file a bug on bugs.sun.com.
I am suggesting that {{ProcessBuilder}} should ensure that there are no
filedescriptors unintentionally left open in the child, before execing the
target executable. There are some systems where {{system(3)}} does this by
simply {{close(2)}}ing every filedescriptor from 3 up to the maxfiles ulimit.
Turns out glibc's {{system(3)}} doesn't, (anymore?) though -- if you have a
open fd and call {{system("ls /proc/self/fd")}} you can see that {{ls}} still
has a copy of the open fd.
So that's evidence that maybe it's not considered part of the interface
contract.
> Should not use PrintWriter to write taskjvm.sh
> ----------------------------------------------
>
> Key: MAPREDUCE-2374
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-2374
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Todd Lipcon
> Assignee: Todd Lipcon
> Fix For: 0.22.1
>
> Attachments: failed_taskjvmsh.strace, mapreduce-2374-branch-1.patch,
> mapreduce-2374-on-20sec.txt, mapreduce-2374.txt, mapreduce-2374.txt,
> successfull_taskjvmsh.strace
>
>
> Our use of PrintWriter in TaskController.writeCommand is unsafe, since that
> class swallows all IO exceptions. We're not currently checking for errors,
> which I'm seeing result in occasional task failures with the message "Text
> file busy" - assumedly because the close() call is failing silently for some
> reason.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira