bharatviswa504 commented on pull request #1677: URL: https://github.com/apache/ozone/pull/1677#issuecomment-745413945
> > Example: > > V1 - 100 MB > > V1/B1 - 50MB > > V1/B2- 50MB > > Now clear quota on V1/B2 we set quota of V1/B2 to -1, and now a new bucket can be still created in this volume? > > New Bucket created with quota 50MB. (V1/B3) > > So, in this volume there are 3 buckets, only 2 are considered in to count, as clearQuota is run(on V1/B2), and we are not considering this bucket in quota calculations, so this bucket will not be counted under quota, but for volume we have crossed the quota of that volume. (As user has run clear quota on V1/B2) > > So, here clear quota means resetting the quota to -1? Or what is the real purpose of this clearQuota usage on clusters, in what scenarios this will be useful on the cluster? > > Thanks to @bharatviswa504‘s advice, you found a very important point. > Before [HDDS-4308](https://issues.apache.org/jira/browse/HDDS-4308), we had usedBytes in volume, so before writing the key, we checked both bucket quota and volume quota. Setting bucket quota to -1 alone at this point does not matter, since we are able to ensure that usedBytes do not exceed volume quota. > But we can't do that now because volume doesn't have usedBytes. I created a new JIRA [HDDS-4588](https://issues.apache.org/jira/browse/HDDS-4588) to fix this problem. If volume's quota is enabled then bucket's quota cannot be cleared. We need to prompt the user to clear volume quota first. > > > But I don't see any guards in the cluster to not allow quota operations for older buckets/volumes. > > And also do you think, we need to document this in our docs? > > I’ll refine the docs to make it clear that older volumes/buckets are not recommended to use quota. So, now if the volume quota is not set, the bucket Clearspace quota is just disabling quota on the buckets. And also just setting quota at volume level will not be counted, until bucket level quotas are set. For my understanding so volume quota is set, and bucket quota is set, clearing volume quota is just set to -1, so that now quota is tracked at bucket level. And now when bucket quota is cleared, when volume quota is set, we disallow the operation. This will be the behavior of clear space quota, let me know if i am missing something. > But we can't do that now because volume doesn't have usedBytes. I created a new JIRA [HDDS-4588 >(https://issues.apache.org/jira/browse/HDDS-4588) to fix this problem. If volume's quota is enabled then bucket's quota >cannot be cleared. We need to prompt the user to clear volume quota first. Now the example mentioned scenarios will not happen. Thanks for opening this Jira and tracking this issue. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
