You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2011/01/28 22:06:44 UTC

[jira] Commented: (MAPREDUCE-2289) Permissions race can make getStagingDir fail on local filesystem

    [ https://issues.apache.org/jira/browse/MAPREDUCE-2289?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12988233#action_12988233 ] 

Todd Lipcon commented on MAPREDUCE-2289:
----------------------------------------

The central issue here is that the Java mkdir API doesn't take a mode, so whenever we create a directory, it starts out with umask-based permissions until we can call chmod on it.

Seems to me it would be safe and fix the race if we had it *fix* permissions if they were wrong, rather than bailing out. Then the race would only cause a redundant chmod. Thoughts?

> Permissions race can make getStagingDir fail on local filesystem
> ----------------------------------------------------------------
>
>                 Key: MAPREDUCE-2289
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-2289
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: job submission
>    Affects Versions: 0.22.0
>            Reporter: Todd Lipcon
>            Assignee: Todd Lipcon
>             Fix For: 0.22.0
>
>
> I've observed the following race condition in TestFairSchedulerSystem which uses a MiniMRCluster on top of RawLocalFileSystem:
> - two threads call getStagingDir at the same time
> - Thread A checks fs.exists(stagingArea) and sees false
> -- Calls mkdirs(stagingArea, JOB_DIR_PERMISSIONS)
> --- mkdirs calls the Java mkdir API which makes the file with umask-based permissions
> - Thread B runs, checks fs.exists(stagingArea) and sees true
> -- checks permissions, sees the default permissions, and throws IOE
> - Thread A resumes and sets correct permissions

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.