[
https://issues.apache.org/jira/browse/HDFS-14814?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16935966#comment-16935966
]
Ayush Saxena commented on HDFS-14814:
-------------------------------------
Thanx [~LiJinglun] for confirming.
Started checking the code couple of comments :
* For method {{setQuota}} there is already similar method with same flow just
without location. may be you can refactor it to add locations and check if
location is not null then calculate location based on the logic present else
use the loction passed?
* For {{testGetGlobalQuota}} you may use LambdaTestUtils.Intercept()
* The tests in {{TestRouterQuota}} seems completely same apart from the last
assertions. May be you can either merge it or refactor the common part and use
in both.
* {{routerContext.getRouter().getRpcServer().getQuotaModule()}} seems to be
used multiple time, may be you can get in a single variable.
* For LOG you may use sl4j
[~elgoiri] can you give a look too.
> 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
>
>
> 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]