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

Yiqun Lin commented on HDFS-14150:
----------------------------------

I prefer to do this in admin server side. For client side, we will do the 
additional rpc call of clearing the quota. Can can refactor the 
{{synchronizeQuota}} function and reuse that in {{removeMountTableEntry}} and 
{{updateMountTableEntry}}, like following (add the additional check of the 
Router Quota):
{code:java}
  private void synchronizeQuota(String path, long nsQuota, long ssQuota)
      throws IOException {
    if (router.isQuotaEnabled() &&
        (nsQuota != HdfsConstants.QUOTA_DONT_SET
        || ssQuota != HdfsConstants.QUOTA_DONT_SET)) {
      HdfsFileStatus ret = this.router.getRpcServer().getFileInfo(path);
      if (ret != null) {
        this.router.getRpcServer().getQuotaModule().setQuota(path, nsQuota,
            ssQuota, null);
      }
    }
  }
{code}

> RBF: Quotas of the sub-cluster should be removed when removing the mount point
> ------------------------------------------------------------------------------
>
>                 Key: HDFS-14150
>                 URL: https://issues.apache.org/jira/browse/HDFS-14150
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>            Reporter: Takanobu Asanuma
>            Assignee: Takanobu Asanuma
>            Priority: Major
>              Labels: RBF
>         Attachments: HDFS-14150.1.patch
>
>
> From HDFS-14143
> {noformat}
> $ hdfs dfsrouteradmin -add /ns1_data ns1 /data
> $ hdfs dfsrouteradmin -setQuota /ns1_data -nsQuota 10 -ssQuota 10
> $ hdfs dfsrouteradmin -ls /ns1_data
> Source                    Destinations              Owner                     
> Group                     Mode                      Quota/Usage
> /ns1_data                ns1->/data                 tasanuma                
> users                      rwxr-xr-x                 [NsQuota: 10/1, SsQuota: 
> 10 B/0 B]
> $ hdfs dfsrouteradmin -rm /ns1_data
> $ hdfs dfsrouteradmin -add /ns1_data ns1 /data
> $ hdfs dfsrouteradmin -ls /ns1_data
> Source                    Destinations              Owner                     
> Group                     Mode                      Quota/Usage
> /ns1_data                ns1->/data                 tasanuma                
> users                      rwxr-xr-x                 [NsQuota: -/-, SsQuota: 
> -/-]
> $ hadoop fs -put file1 /ns1_data/file1
> put: The DiskSpace quota of /data is exceeded: quota = 10 B = 10 B but 
> diskspace consumed = 402653184 B = 384 MB
> {noformat}
> This is because the quotas of the subclusters still remain after "hdfs 
> dfsrouteradmin -rm". And "hdfs dfsrouteradmin -add" doesn't reflect the 
> existing quotas.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to