[
https://issues.apache.org/jira/browse/HADOOP-15564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16524352#comment-16524352
]
Todd Lipcon commented on HADOOP-15564:
--------------------------------------
One wrinkle is that Shell is marked as public, so removing the public
isSetsidSupported member may be considered a breaking API change.
> Classloading Shell should not run a subprocess
> ----------------------------------------------
>
> Key: HADOOP-15564
> URL: https://issues.apache.org/jira/browse/HADOOP-15564
> Project: Hadoop Common
> Issue Type: Improvement
> Components: util
> Affects Versions: 3.0.0
> Reporter: Todd Lipcon
> Priority: Major
>
> The 'Shell' class has a static member isSetsidSupported which, in order to
> initialize, forks out a subprocess. Various other parts of the code reference
> Shell.WINDOWS. For example, the StringUtils class has such a reference. This
> means that, during startup, a seemingly fast call like
> Configuration.getBoolean() ends up class-loading StringUtils, which
> class-loads Shell, which forks out a subprocess. I couldn't measure any big
> improvement by fixing this, but seemed surprising to say the least.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]