[ https://issues.apache.org/jira/browse/HDFS-14814?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16941451#comment-16941451 ]
Jinglun commented on HDFS-14814: -------------------------------- Thank [~elgoiri] for your fast reply ! Agree with your comments, especially the first one about setQuota(), it's very reasonable ! Only one question: {quote}I think that in the loop in getGlobalQuota, you could just do the ifs, and not do the if with the break, you will get the same number of comparissons. {quote} Do you mean the code below ? {code:java} Entry<String, RouterQuotaUsage> entry = pts.lastEntry(); while (entry != null) { String ppath = entry.getKey(); QuotaUsage quota = entry.getValue(); if (nQuota == HdfsConstants.QUOTA_RESET) { nQuota = quota.getQuota(); } if (sQuota == HdfsConstants.QUOTA_RESET) { sQuota = quota.getSpaceQuota(); } entry = pts.lowerEntry(ppath); }{code} In my understood, If I don't break I'll search all the entries even I already got the values for nQuota and sQuota. So I want to break to save some pts.lowerEntry(ppath). Correct me if i'm wrong. Thanks ! > RBF: RouterQuotaUpdateService supports inherited rule. > ------------------------------------------------------ > > Key: HDFS-14814 > URL: https://issues.apache.org/jira/browse/HDFS-14814 > Project: Hadoop HDFS > Issue Type: Improvement > Reporter: Jinglun > Assignee: Jinglun > Priority: Major > Attachments: HDFS-14814.001.patch, HDFS-14814.002.patch, > HDFS-14814.003.patch, HDFS-14814.004.patch, HDFS-14814.005.patch, > HDFS-14814.006.patch, HDFS-14814.007.patch, HDFS-14814.008.patch, > HDFS-14814.009.patch, HDFS-14814.010.patch > > > I want to add a rule *'The quota should be set the same as the nearest > parent'* to Global Quota. Supposing we have the mount table below. > M1: /dir-a ns0->/dir-a \{nquota=10,squota=20} > M2: /dir-a/dir-b ns1->/dir-b \{nquota=-1,squota=30} > M3: /dir-a/dir-b/dir-c ns2->/dir-c \{nquota=-1,squota=-1} > M4: /dir-d ns3->/dir-d \{nquota=-1,squota=-1} > > The quota for the remote locations on the namespaces should be: > ns0->/dir-a \{nquota=10,squota=20} > ns1->/dir-b \{nquota=10,squota=30} > ns2->/dir-c \{nquota=10,squota=30} > ns3->/dir-d \{nquota=-1,squota=-1} > > The quota of the remote location is set the same as the corresponding > MountTable, and if there is no quota of the MountTable then the quota is set > to the nearest parent MountTable with quota. > > It's easy to implement it. In RouterQuotaUpdateService each time we compute > the currentQuotaUsage, we can get the quota info for each MountTable. We can > do a > check and fix all the MountTable which's quota doesn't match the rule above. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org