[ https://issues.apache.org/jira/browse/HDFS-7811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14394870#comment-14394870 ]
Hudson commented on HDFS-7811: ------------------------------ FAILURE: Integrated in Hadoop-Mapreduce-trunk #2102 (See [https://builds.apache.org/job/Hadoop-Mapreduce-trunk/2102/]) HDFS-7811. Avoid recursive call getStoragePolicyID in INodeFile#computeQuotaUsage. Contributed by Xiaoyu Yao and Jing Zhao. (jing9: rev 72f6bd4893dcf10d6dad24753f9be99505a87a1f) * hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/snapshot/DirectoryWithSnapshotFeature.java * hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeMap.java * hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeDirectory.java * hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeReference.java * hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeSymlink.java * hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSImage.java * hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INodeFile.java * hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INode.java * hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt > Avoid recursive call getStoragePolicyID in INodeFile#computeQuotaUsage > ---------------------------------------------------------------------- > > Key: HDFS-7811 > URL: https://issues.apache.org/jira/browse/HDFS-7811 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: namenode > Reporter: Xiaoyu Yao > Assignee: Xiaoyu Yao > Priority: Minor > Fix For: 2.7.0 > > Attachments: HDFS-7811.00.patch, HDFS-7811.01.patch, > HDFS-7811.02.patch, HDFS-7811.03.patch, HDFS-7811.04.patch > > > This is a follow up based on comment from [~jingzhao] on HDFS-7723. > I just noticed that INodeFile#computeQuotaUsage calls getStoragePolicyID to > identify the storage policy id of the file. This may not be very efficient > (especially when we're computing the quota usage of a directory) because > getStoragePolicyID may recursively check the ancestral INode's storage > policy. I think here an improvement can be passing the lowest parent > directory's storage policy down while traversing the tree. -- This message was sent by Atlassian JIRA (v6.3.4#6332)