[ https://issues.apache.org/jira/browse/HDFS-7811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14366215#comment-14366215 ]
Xiaoyu Yao commented on HDFS-7811: ---------------------------------- Thanks [~jingzhao] for the review. bq. 1. In tryGetBlockStoragePolicyId, looks like getStoragePolicyID will not throw UnsupportedOperationException in our current code? INodeSymlink#getStoragePolicyID throws UnsupportedOperationException. bq. 2 We now have 4 different versions of computeQuotaUsage to support different parameter combinations. We can remove some of them for simplification. E.g.,computeQuotaUsage(BlockStoragePolicySuite, byte, QuotaCounts, boolean) is only called in one place. Agree. Will remove that in the next update. bq. 3/4/5 In INodeFile#computeQuotaUsage, we should check if the INodeFile has local storage policy and if so use it to overwrite the given policy. Agree. Will fix in the next update. bq. 6 Minor: there are couple of places where the line length exceeds 80 Will fix in the next update. > 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: datanode, namenode > Reporter: Xiaoyu Yao > Assignee: Xiaoyu Yao > Fix For: 2.7.0 > > Attachments: HDFS-7811.00.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)