hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tsz Wo Nicholas Sze (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-7811) Avoid recursive call getStoragePolicyID in INodeFile#computeQuotaUsage
Date Thu, 02 Apr 2015 22:29:54 GMT

    [ https://issues.apache.org/jira/browse/HDFS-7811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14393605#comment-14393605
] 

Tsz Wo Nicholas Sze commented on HDFS-7811:
-------------------------------------------

- INode.getStoragePolicyID(byte) does not throw exception for symlinks but INode.getStoragePolicyID()
does.  How about renaming the new method to getStoragePolicyIDNoException(byte)?
- The indentation below is off.
{code}
//INodeReference
-      computeQuotaUsage(summary.getBlockStoragePolicySuite(), q, false, lastSnapshotId);
-      summary.getCounts().addContent(Content.DISKSPACE, q.getStorageSpace());
-      summary.getCounts().addTypeSpaces(q.getTypeSpaces());
+      computeQuotaUsage(summary.getBlockStoragePolicySuite(),
+          getStoragePolicyID(), q, false, lastSnapshotId);
+          summary.getCounts().addContent(Content.DISKSPACE, q.getStorageSpace());
+          summary.getCounts().addTypeSpaces(q.getTypeSpaces());
{code}

> 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
>         Attachments: HDFS-7811.00.patch, HDFS-7811.01.patch, HDFS-7811.02.patch, HDFS-7811.03.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)

Mime
View raw message