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

Jinglun commented on HDFS-14814:
--------------------------------

Hi [~ayushtkn], your understand is right, the 1,2,3 idea is exactly what I 
mean. 

In this jira, I intend to let RouterQuotaUpdateService fix all the bad quotas. 
If I want to fix quota, I must know what is the right quota. So I use the 
*inherited rule*  to determine whether a quota is correct or not.

To implement the inherited rule, we need to update all rpcs related to global 
quota, including RouterAdmin updates mount tables, 
RouterRpcServer.getQuotaUsage(), RouterRpcServer.setQuota() and 
RouterQuotaUpdateService fixing. I don't want to add all the changes in one big 
patch so I want to start with RouterQuotaUpdateService. 

RouterQuotaUpdateService can be seen as the final judge. It will always make 
everything right. So I want to start with it.

> RBF: The quota should be set the same as the nearest parent in Global Quota.
> ----------------------------------------------------------------------------
>
>                 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
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to