[
https://issues.apache.org/jira/browse/HDFS-14814?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16931078#comment-16931078
]
Jinglun commented on HDFS-14814:
--------------------------------
Hi [~ayushtkn], thanks for your nice comments ! At present when we call
*Quota.setQuota(String path, long namespaceQuota, long storagespaceQuota,
StorageType type)*, all its children paths will be set too. So when a Router
Admin updates the quota of M1, the quota will be set on M1,M2,M3. Even there
isn't any quota in M3. If Router Admin updates quota of M1 and M2, then there
will be conflicts on M2's \{nquota} and M3's \{nquota,squota}. So I want the
inherited global quota to resolve the conflicts.
I agree we should let the Router Admin to explicitly define the quota. If we
have inherited global quota, he still can explicitly define quota by not using
QUOTA_UNSET. Then there won't be any inherit.
> 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.2#803003)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]