[ 
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]

Reply via email to