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

Chengwei Wang edited comment on HDFS-14815 at 10/27/21, 9:55 AM:
-----------------------------------------------------------------

HI [~LiJinglun] [~ayushtkn],  I think this feature may make users a little 
confused.

Users will get different result when they try to set quota for mount table 
paths and normal paths by dfsadmin CLI or FileSystem#setQuota interface with 
_*fs.defaultFS=router*_. especially when call FileSystem#setQuota inside users 
code. In other word, the _*ClientProtocol#setQuota*_  interface implement 
inside router is just partial available, this seems illogical and would make 
users doubt whether the hdfs cluster is healthy.

In my opnions, _*ClientProtocol#setQuota as a public api,*_ the  ** requests 
should be all passed or all rejected to keep behavior consistent.  So, I prefer 
approach 2 and 3, and we can choose consistent strategy (*Strong* or 
*Eventually*) by configuration.

 


was (Author: smarthan):
HI [~LiJinglun] [~ayushtkn],  I think this feature may make users a little 
confused.

Users will get different result when they try to set quota for mount table 
paths and normal paths by dfsadmin CLI or FileSystem#setQuota interface with 
_*fs.defaultFS=router*_. especially when call FileSystem#setQuota inside users 
code. In other word, the _*ClientProtocol#setQuota*_  interface implement 
inside router is just partial available, this seems illogical and would make 
users doubt whether the hdfs cluster is healthy.

In my opnions, _*ClientProtocol#setQuota as a public api,*_ the** _**_ requests 
should be all passed or all rejected to keep behavior consistent.  So, I prefer 
approach 2 and 3, and we can choose consistent strategy (*Strong* or 
*Eventually*) by configuration.

 

> RBF: Update the quota in MountTable when calling setQuota on a MountTable src.
> ------------------------------------------------------------------------------
>
>                 Key: HDFS-14815
>                 URL: https://issues.apache.org/jira/browse/HDFS-14815
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>            Reporter: Jinglun
>            Assignee: Jinglun
>            Priority: Major
>             Fix For: 3.3.0
>
>         Attachments: HDFS-14815.001.patch, HDFS-14815.002.patch, 
> HDFS-14815.003.patch, HDFS-14815.004.patch, HDFS-14815.005.patch
>
>
> The method setQuota() can make the remote quota(the quota on real clusters) 
> inconsistent with the MountTable. I think we have 3 ways to fix it:
>  # Reject all the setQuota() rpcs if it trys to change the quota of a mount 
> table.
>  # Let setQuota() to change the mount table quota. Update the quota on zk 
> first and then update remote quotas.
>  # Do nothing. The RouterQuotaUpdateService will finally make all the remote 
> quota right. We can tolerate short-term inconsistencies.
> I'd like option 1 because I want the RouterAdmin to be the only entrance to 
> update the MountTable.
> Option 3 we don't need change anything, but the quota will be inconsistent 
> for a short-term. The remote quota will be effective immediately and 
> auto-changed back after a while. User might be confused about the behavior.
>  



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