[ 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