[ https://issues.apache.org/jira/browse/HDFS-6585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14041794#comment-14041794 ]
Haohui Mai commented on HDFS-6585: ---------------------------------- [~daryn], do you mind posting your patch? I think it can be a very useful starting point for this clean up. > INodesInPath.resolve is called multiple times in FSNamesystem.setPermission > --------------------------------------------------------------------------- > > Key: HDFS-6585 > URL: https://issues.apache.org/jira/browse/HDFS-6585 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: namenode > Reporter: Zhilei Xu > Assignee: Zhilei Xu > Labels: patch > Attachments: patch_ab60af58e03b323dd4b18d32c4def1f008b98822.txt, > patch_f15b7d505f12213f1ee9fb5ddb4bdaa64f9f623d.txt > > > Most of the APIs (both internal and external) in FSNamesystem calls > INodesInPath.resolve() to get the list of INodes corresponding to a file > path. Usually one API will call resolve() multiple times and that's a waste > of time. > This issue particularly refers to FSNamesystem.setPermission, which calls > resolve() twice indirectly: one from checkOwner(), another from > dir.setPermission(). > Should save the result of resolve(), and use it whenever possible throughout > the lifetime of an API call, instead of making new resolve() calls. -- This message was sent by Atlassian JIRA (v6.2#6252)