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

Ayush Saxena commented on HDFS-14814:
-------------------------------------

Thanx [~LiJinglun] for the patch.
Some minor comments :

{code:java}
+            Map<RemoteLocation, QuotaUsage> usageMap =
+                this.rpcServer.getQuotaModule().getEachQuotaUsage(src);
+            currentQuotaUsage =
+                this.rpcServer.getQuotaModule().aggregateQuota(usageMap);
{code}

You can extract {{this.rpcServer.getQuotaModule()}} and use at both places.


{code:java}
+      LOG.info("[Fix Quota] src={} dst={} oldQuota={} newQuota={}",
+          new Object[] {location.getSrc(), location,
+              remoteQuota.getQuota() + "/" + remoteQuota.getSpaceQuota(),
+              gQuota.getQuota() + "/" + gQuota.getSpaceQuota()});
{code}
Why you need to do {{new Object[]}} ? I guess it can take directly values 
seprated by coma.

{code:java}
+  @Test
+  public void testFixGlobalQuota() throws Exception {
+    // Wait RouterUpdateQuotaService for fixing the remote quota.
{code}

I didn't understand this comment.

Other than this, seems fair enough.

[~elgoiri] you would like to add something?

> 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
>
>
> 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

Reply via email to