hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-10146) Workaround JDK7 Process fd close bug
Date Fri, 17 Jan 2014 11:11:15 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-10146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13874675#comment-13874675
] 

Hudson commented on HADOOP-10146:
---------------------------------

SUCCESS: Integrated in Hadoop-Yarn-trunk #455 (See [https://builds.apache.org/job/Hadoop-Yarn-trunk/455/])
HADOOP-10146. Workaround JDK7 Process fd close bug (daryn) (daryn: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1558883)
* /hadoop/common/trunk/hadoop-common-project/hadoop-common/CHANGES.txt
* /hadoop/common/trunk/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/Shell.java


> Workaround JDK7 Process fd close bug
> ------------------------------------
>
>                 Key: HADOOP-10146
>                 URL: https://issues.apache.org/jira/browse/HADOOP-10146
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: util
>    Affects Versions: 0.23.0, 2.0.0-alpha, 3.0.0
>            Reporter: Daryn Sharp
>            Assignee: Daryn Sharp
>            Priority: Critical
>             Fix For: 3.0.0, 2.4.0, 0.23.11
>
>         Attachments: HADOOP-10129.branch-23.patch, HADOOP-10129.patch, HADOOP-10146.branch-23.patch,
HADOOP-10146.patch
>
>
> JDK7's {{Process}} output streams have an async fd-close race bug.  This manifests as
commands run via o.a.h.u.Shell causing threads to hang, OOM, or cause other bizarre behavior.
 The NM is likely to encounter the bug under heavy load.
> Specifically, {{ProcessBuilder}}'s {{UNIXProcess}} starts a thread to reap the process
and drain stdout/stderr to avoid a lingering zombie process.  A race occurs if the thread
using the stream closes it, the underlying fd is recycled/reopened, while the reaper is draining
it.  {{ProcessPipeInputStream.drainInputStream}}'s will OOM allocating an array if {{in.available()}}
returns a huge number, or may wreak havoc by incorrectly draining the fd.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message