[
https://issues.apache.org/jira/browse/YARN-5867?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bibin A Chundatt updated YARN-5867:
-----------------------------------
Description:
Steps to reproduce
===============
# Set umask to 077 for user
# Start nodemanager with nmlocal dir configured
nmlocal dir permission is *755*
{{LocalDirsHandlerService#serviceInit}}
{code}
FsPermission perm = new FsPermission((short)0755);
boolean createSucceeded = localDirs.createNonExistentDirs(localFs, perm);
createSucceeded &= logDirs.createNonExistentDirs(localFs, perm);
{code}
# After startup delete the nmlocal dir and wait for {{MonitoringTimerTask}} to
run (simulation using delete)
# Now check the permission of {{nmlocal dir}} will be *750*
*Root Cause*
{{DirectoryCollection#testDirs}} checks as following
{code}
// create a random dir to make sure fs isn't in read-only mode
verifyDirUsingMkdir(testDir);
{code}
which cause a new Random directory to be create in {{localdir}} using
{{DiskChecker.checkDir(dir)}} -> {{!mkdirsWithExistsCheck(dir)}} causing the
nmlocal dir to be created with wrong permission. *750*
Few application fail to container launch due to permission denied.
was:
Steps to reproduce
===============
# Set umask to 027 for user
# Start nodemanager with nmlocal dir configured
nmlocal dir permission is *755*
{{LocalDirsHandlerService#serviceInit}}
{code}
FsPermission perm = new FsPermission((short)0755);
boolean createSucceeded = localDirs.createNonExistentDirs(localFs, perm);
createSucceeded &= logDirs.createNonExistentDirs(localFs, perm);
{code}
# After startup delete the nmlocal dir and wait for {{MonitoringTimerTask}} to
run (simulation using delete)
# Now check the permission of {{nmlocal dir}} will be *750*
*Root Cause*
{{DirectoryCollection#testDirs}} checks as following
{code}
// create a random dir to make sure fs isn't in read-only mode
verifyDirUsingMkdir(testDir);
{code}
which cause a new Random directory to be create in {{localdir}} using
{{DiskChecker.checkDir(dir)}} -> {{!mkdirsWithExistsCheck(dir)}} causing the
nmlocal dir to be created with wrong permission. *750*
Few application fail to container launch due to permission denied.
> DirectoryCollection#checkDirs can cause incorrect permission of nmlocal dir
> ---------------------------------------------------------------------------
>
> Key: YARN-5867
> URL: https://issues.apache.org/jira/browse/YARN-5867
> Project: Hadoop YARN
> Issue Type: Bug
> Reporter: Bibin A Chundatt
> Assignee: Bibin A Chundatt
>
> Steps to reproduce
> ===============
> # Set umask to 077 for user
> # Start nodemanager with nmlocal dir configured
> nmlocal dir permission is *755*
> {{LocalDirsHandlerService#serviceInit}}
> {code}
> FsPermission perm = new FsPermission((short)0755);
> boolean createSucceeded = localDirs.createNonExistentDirs(localFs, perm);
> createSucceeded &= logDirs.createNonExistentDirs(localFs, perm);
> {code}
> # After startup delete the nmlocal dir and wait for {{MonitoringTimerTask}}
> to run (simulation using delete)
> # Now check the permission of {{nmlocal dir}} will be *750*
> *Root Cause*
> {{DirectoryCollection#testDirs}} checks as following
> {code}
> // create a random dir to make sure fs isn't in read-only mode
> verifyDirUsingMkdir(testDir);
> {code}
> which cause a new Random directory to be create in {{localdir}} using
> {{DiskChecker.checkDir(dir)}} -> {{!mkdirsWithExistsCheck(dir)}} causing the
> nmlocal dir to be created with wrong permission. *750*
> Few application fail to container launch due to permission denied.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]