[
https://issues.apache.org/jira/browse/HDDS-8367?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sadanand Shenoy resolved HDDS-8367.
-----------------------------------
Resolution: Fixed
> setquota should have a check on usedNamespace [NameSpacequota]
> --------------------------------------------------------------
>
> Key: HDDS-8367
> URL: https://issues.apache.org/jira/browse/HDDS-8367
> Project: Apache Ozone
> Issue Type: Sub-task
> Reporter: Arun Sarin
> Assignee: Sumit Agrawal
> Priority: Minor
> Labels: pull-request-available
>
> This is a negative scenario that was tested
> While modifying setquota NameSpacequota we should have a check on
> usedNamespace already consumed by the volume.
> For Example these are the two possible scenarios:
> # In a case when namespace quota is not defined on the volume and there are
> some n numbers of buckets already created in that volume. Then if we are
> trying to setquota on that volume, there should be a check that it should not
> allow us to set a namespacequota less than usedNamespace
> # Second similiar scenario is Create volume with namespace quota --> create
> buckets --> Clear namespace quota --> Assign namespace quota less than
> already created buckets
> PFB the steps to recreate Scenario 1 :
> Step 1 - Create volume without namespace quota
>
> {noformat}
> [root@quasar-tvqwpy-1 ~]# ozone sh volume create volume3
> 23/04/04 04:49:13 INFO rpc.RpcClient: Creating Volume: volume3, with hdfs as
> owner and space quota set to -1 bytes, counts quota set to -1{noformat}
> Step 2 - Check volume info
>
>
> {noformat}
> [root@quasar-tvqwpy-1 ~]# ozone sh volume info /volume3
> {
> "metadata" : { },
> "name" : "volume3",
> "admin" : "hdfs",
> "owner" : "hdfs",
> "quotaInBytes" : -1,
> "quotaInNamespace" : -1,
> "usedNamespace" : 0,
> "creationTime" : "2023-04-04T04:49:13.520Z",
> "modificationTime" : "2023-04-04T04:49:13.520Z",
> "acls" : [ {
> "type" : "USER",
> "name" : "hdfs",
> "aclScope" : "ACCESS",
> "aclList" : [ "ALL" ]
> }, {
> "type" : "GROUP",
> "name" : "hdfs",
> "aclScope" : "ACCESS",
> "aclList" : [ "ALL" ]
> }, {
> "type" : "GROUP",
> "name" : "hadoop",
> "aclScope" : "ACCESS",
> "aclList" : [ "ALL" ]
> } ],
> "refCount" : 0
> }{noformat}
>
> Step 3 - Create buckets
> {noformat}
> [root@quasar-tvqwpy-1 ~]# ozone sh bucket create /volume3/bucket1
> 23/04/04 04:49:44 INFO rpc.RpcClient: Creating Bucket: volume3/bucket1, with
> server-side default bucket layout, hdfs as owner, Versioning false, Storage
> Type set to DISK and Encryption set to false
> [root@quasar-tvqwpy-1 ~]# ozone sh bucket create /volume3/bucket2
> 23/04/04 04:49:50 INFO rpc.RpcClient: Creating Bucket: volume3/bucket2, with
> server-side default bucket layout, hdfs as owner, Versioning false, Storage
> Type set to DISK and Encryption set to false
> [root@quasar-tvqwpy-1 ~]# ozone sh bucket create /volume3/bucket3
> 23/04/04 04:49:56 INFO rpc.RpcClient: Creating Bucket: volume3/bucket3, with
> server-side default bucket layout, hdfs as owner, Versioning false, Storage
> Type set to DISK and Encryption set to false
> [root@quasar-tvqwpy-1 ~]# ozone fs -ls ofs://ozone1/volume3
> Found 3 items
> drwxrwxrwx - hdfs hdfs 0 2023-04-04 04:49
> ofs://ozone1/volume3/bucket1
> drwxrwxrwx - hdfs hdfs 0 2023-04-04 04:49
> ofs://ozone1/volume3/bucket2
> drwxrwxrwx - hdfs hdfs 0 2023-04-04 04:49
> ofs://ozone1/volume3/bucket3{noformat}
> Step 4 - setquota [This must have failed]
> {noformat}
> [root@quasar-tvqwpy-1 ~]# ozone sh volume setquota --namespace-quota 1
> /volume3{noformat}
> Step 5 - Verify
> {noformat}
> [root@quasar-tvqwpy-1 ~]# ozone sh volume info /volume3
> {
> "metadata" : { },
> "name" : "volume3",
> "admin" : "hdfs",
> "owner" : "hdfs",
> "quotaInBytes" : -1,
> "quotaInNamespace" : 1,
> "usedNamespace" : 3,
> "creationTime" : "2023-04-04T04:49:13.520Z",
> "modificationTime" : "2023-04-04T04:50:32.568Z",
> "acls" : [ {
> "type" : "USER",
> "name" : "hdfs",
> "aclScope" : "ACCESS",
> "aclList" : [ "ALL" ]
> }, {
> "type" : "GROUP",
> "name" : "hdfs",
> "aclScope" : "ACCESS",
> "aclList" : [ "ALL" ]
> }, {
> "type" : "GROUP",
> "name" : "hadoop",
> "aclScope" : "ACCESS",
> "aclList" : [ "ALL" ]
> } ],
> "refCount" : 0
> }{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]