The static method FileSystem.mkdirs() should use the permossions to create 
directory
------------------------------------------------------------------------------------

                 Key: HADOOP-3081
                 URL: https://issues.apache.org/jira/browse/HADOOP-3081
             Project: Hadoop Core
          Issue Type: Bug
          Components: dfs
    Affects Versions: 0.16.1
            Reporter: dhruba borthakur


There is a static method FileSystem.mkdirs() that create the directory first 
and then sets permissions in it. Instead, it should create the directory with 
the correct permissions.

Otherwise, even if dfs.permission is set to off, one might see job submission 
failures with the following stack trace:

         at 
org.apache.hadoop.dfs.PermissionChecker.check(PermissionChecker.java:173)
        at 
org.apache.hadoop.dfs.PermissionChecker.checkTraverse(PermissionChecker.java:129)
        at 
org.apache.hadoop.dfs.PermissionChecker.checkPermission(PermissionChecker.java:99)
        at 
org.apache.hadoop.dfs.FSNamesystem.checkPermission(FSNamesystem.java:4031)
        at org.apache.hadoop.dfs.FSNamesystem.checkOwner(FSNamesystem.java:3986)
        at 
org.apache.hadoop.dfs.FSNamesystem.setPermission(FSNamesystem.java:715)
        at org.apache.hadoop.dfs.NameNode.setPermission(NameNode.java:297)
        at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:409)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:899)

        at org.apache.hadoop.ipc.Client.call(Client.java:512)
        at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:198)
        at org.apache.hadoop.dfs.$Proxy4.setPermission(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82)
        at 
org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59)
        at org.apache.hadoop.dfs.$Proxy4.setPermission(Unknown Source)
        at 
org.apache.hadoop.dfs.DistributedFileSystem.setPermission(DistributedFileSystem.java:351)
        at org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:218)
        at org.apache.hadoop.mapred.JobTracker.<init>(JobTracker.java:688)
        at org.apache.hadoop.mapred.JobTracker.startTracker(JobTracker.java:124)
        at org.apache.hadoop.mapred.JobTracker.main(JobTracker.java:2114)

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

Reply via email to