[ https://issues.apache.org/jira/browse/HADOOP-16582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17073843#comment-17073843 ]
Zoltan Haindrich commented on HADOOP-16582: ------------------------------------------- [~ste...@apache.org], [~kihwal] this commit fundamentally changes how {{mkdirs()}} work: earlier: * all plain {{mkdirs(somePath)}} were fast-tracked to {{FileSystem.mkdirs}} which have rerouted them to {{mkdirs(somePath, somePerm)}} method with some defaults (which were static) * an implementation of {{FileSystem}} have only needed implement "mkdirs(somePath, somePerm)" - because the other was not neccessarily called if it was always in a {{FilterFileSystem}} or something like that now: * especially {{FilterFileSystem}} forwards the call of {{mkdirs(p)}} to the actual fs implementation...which may skip overriden {{mkdirs(somPath,somePerm)}} methods * ...and could cause issues for existing FileSystem implementations > LocalFileSystem's mkdirs() does not work as expected under viewfs. > ------------------------------------------------------------------ > > Key: HADOOP-16582 > URL: https://issues.apache.org/jira/browse/HADOOP-16582 > Project: Hadoop Common > Issue Type: Bug > Reporter: Kihwal Lee > Assignee: Kihwal Lee > Priority: Major > Fix For: 2.10.0, 3.3.0, 2.8.6, 2.9.3, 3.1.3, 3.2.2 > > Attachments: HADOOP-16582.1.patch, HADOOP-16582.patch > > > When {{mkdirs(Path)}} is called against {{LocalFileSystem}}, the > implementation in {{RawLocalFileSystem}} is called and the directory > permission is determined by the umask. However, if it is under > {{ViewFileSystem}}, the default implementation in {{FileSystem}} is called > and this causes explicit {{chmod()}} to 0777. > The {{mkdirs(Path)}} method needs to be overriden in > - ViewFileSystem to avoid calling the default implementation > - ChRootedFileSystem for proper resolution of viewfs mount table > - FilterFileSystem to avoid calling the default implementation > Only then the same method in the target ({{LocalFileSystem}} in this case) > will be called. Hdfs does not suffer from the same flaw since it applies > umask in all cases, regardless of what version of {{mkdirs()}} was called. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org